New versions: Dev (3.14) | Latest (3.13) | 3.12 | 3.11 | 3.10 | 3.9

Include object types

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

Sometimes, you want to generate only tables. Or only routines. Or you want to exclude them from being generated. Whatever the use-case, there's a way to do this with the following, additional includes flags:

XML configuration (standalone and Maven)

<configuration xmlns="http://www.jooq.org/xsd/jooq-codegen-3.11.0.xsd">
  <generator>
    <database>
      <includeTables>true</includeTables>
      <includeRoutines>true</includeRoutines>
      <includePackages>true</includePackages>
      <includePackageRoutines>true</includePackageRoutines>
      <includePackageUDTs>true</includePackageUDTs>
      <includePackageConstants>true</includePackageConstants>
      <includeUDTs>true</includeUDTs>
      <includeSequences>false</includeSequences>
      <includePrimaryKeys>false</includePrimaryKeys>
      <includeUniqueKeys>false</includeUniqueKeys>
      <includeForeignKeys>false</includeForeignKeys>
      <includeCheckConstraints>false</includeCheckConstraints>
      <includeIndexes>false</includeIndexes>
    </database>
  </generator>
</configuration>

Programmatic configuration

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator(
    .withDatabase(new Database()
      .withIncludeTables(true)
      .withIncludeRoutines(true)
      .withIncludePackages(true)
      .withIncludePackageRoutines(true)
      .withIncludePackageUDTs(true)
      .withIncludePackageConstants(true)
      .withIncludeUDTs(true)
      .withIncludeSequences(false)
      .withIncludePrimaryKeys(false)
      .withIncludeUniqueKeys(false)
      .withIncludeForeignKeys(false)
      .withIncludeCheckConstraints(false)
      .withIncludeIndexes(false))));

Gradle configuration

myConfigurationName(sourceSets.main) {
  generator {
    database {
      includeTables = true
      includeRoutines = true
      includeTriggerRoutines = false
      includePackages = true
      includePackageRoutines = true
      includePackageUDTs = true
      includePackageConstants = true
      includeUDTs = true
      includeSequences = false
      includePrimaryKeys = false
      includeUniqueKeys = false
      includeForeignKeys = false
      includeCheckConstraints = false
      includeIndexes = false
    }
  }
}

By default, most of these flags are set to true, with the exception of:

  • includeTriggerRoutines: Some databases store triggers as special ROUTINE types in the schema. These routines are not meant to be called directly, by clients, which is why their inclusion in code generation is undesirable.
The jOOQ Logo