可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

包含对象类型

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

有时,您只想生成表。或者只生成例程。或者您想将它们从生成中排除。无论用例如何,都可以使用以下额外的包含标志来实现这一点

XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
  <generator>
    <database>
      <includeCheckConstraints>false</includeCheckConstraints>
      <includeDomains>true</includeDomains>
      <includeEmbeddables>true</includeEmbeddables>
      <includeForeignKeys>false</includeForeignKeys>
      <includeIndexes>false</includeIndexes>
      <includeInvisibleColumns>true</includeInvisibleColumns>
      <includePackageConstants>true</includePackageConstants>
      <includePackageRoutines>true</includePackageRoutines>
      <includePackageUDTs>true</includePackageUDTs>
      <includePackages>true</includePackages>
      <includePrimaryKeys>false</includePrimaryKeys>
      <includeRoutines>true</includeRoutines>
      <includeSequences>false</includeSequences>
      <includeSynonyms>false</includeSynonyms>
      <includeSystemCheckConstraints>false</includeSystemCheckConstraints>
      <includeSystemIndexes>false</includeSystemIndexes>
      <includeSystemSequences>false</includeSystemSequences>
      <includeSystemTables>false</includeSystemTables>
      <includeSystemUDTs>false</includeSystemUDTs>
      <includeTables>true</includeTables>
      <includeTriggerRoutines>false</includeTriggerRoutines>
      <includeTriggers>true</includeTriggers>
      <includeUDTs>true</includeUDTs>
      <includeUniqueKeys>false</includeUniqueKeys>
      <includeXMLSchemaCollections>false</includeXMLSchemaCollections>
    </database>
  </generator>
</configuration>

有关更多详细信息,请参见配置 XSD独立代码生成以及maven 代码生成

new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator()
    .withDatabase(new Database()
      .withIncludeCheckConstraints(false)
      .withIncludeDomains(true)
      .withIncludeEmbeddables(true)
      .withIncludeForeignKeys(false)
      .withIncludeIndexes(false)
      .withIncludeInvisibleColumns(true)
      .withIncludePackageConstants(true)
      .withIncludePackageRoutines(true)
      .withIncludePackageUDTs(true)
      .withIncludePackages(true)
      .withIncludePrimaryKeys(false)
      .withIncludeRoutines(true)
      .withIncludeSequences(false)
      .withIncludeSynonyms(false)
      .withIncludeSystemCheckConstraints(false)
      .withIncludeSystemIndexes(false)
      .withIncludeSystemSequences(false)
      .withIncludeSystemTables(false)
      .withIncludeSystemUDTs(false)
      .withIncludeTables(true)
      .withIncludeTriggerRoutines(false)
      .withIncludeTriggers(true)
      .withIncludeUDTs(true)
      .withIncludeUniqueKeys(false)
      .withIncludeXMLSchemaCollections(false)
    )
  )

有关更多详细信息,请参见配置 XSD程序化代码生成

import org.jooq.meta.jaxb.*


configuration {
  generator {
    database {
      isIncludeCheckConstraints = false
      isIncludeDomains = true
      isIncludeEmbeddables = true
      isIncludeForeignKeys = false
      isIncludeIndexes = false
      isIncludeInvisibleColumns = true
      isIncludePackageConstants = true
      isIncludePackageRoutines = true
      isIncludePackageUDTs = true
      isIncludePackages = true
      isIncludePrimaryKeys = false
      isIncludeRoutines = true
      isIncludeSequences = false
      isIncludeSynonyms = false
      isIncludeSystemCheckConstraints = false
      isIncludeSystemIndexes = false
      isIncludeSystemSequences = false
      isIncludeSystemTables = false
      isIncludeSystemUDTs = false
      isIncludeTables = true
      isIncludeTriggerRoutines = false
      isIncludeTriggers = true
      isIncludeUDTs = true
      isIncludeUniqueKeys = false
      isIncludeXMLSchemaCollections = false
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

configuration {
  generator {
    database {
      includeCheckConstraints = false
      includeDomains = true
      includeEmbeddables = true
      includeForeignKeys = false
      includeIndexes = false
      includeInvisibleColumns = true
      includePackageConstants = true
      includePackageRoutines = true
      includePackageUDTs = true
      includePackages = true
      includePrimaryKeys = false
      includeRoutines = true
      includeSequences = false
      includeSynonyms = false
      includeSystemCheckConstraints = false
      includeSystemIndexes = false
      includeSystemSequences = false
      includeSystemTables = false
      includeSystemUDTs = false
      includeTables = true
      includeTriggerRoutines = false
      includeTriggers = true
      includeUDTs = true
      includeUniqueKeys = false
      includeXMLSchemaCollections = false
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

// The jOOQ-codegen-gradle plugin has been introduced in version 3.19.
// Please use the official plugin instead of the third party plugin that was recommended before.

默认情况下,大多数这些标志都设置为 true,但以下情况除外:

  • includeTriggerRoutines:某些数据库将触发器存储为模式中的特殊 ROUTINE 类型。这些例程不应由客户端直接调用,这就是为什么不希望将它们包含在代码生成中的原因。
  • includeSystemCheckConstraints:某些数据库为其他约束(如 NOT NULL 约束)生成辅助 CHECK 约束。冗余信息通常是不希望的,这就是为什么默认情况下禁用这些约束的原因。
  • includeSystemIndexes:某些数据库为其他约束(如 FOREIGN KEY 约束)生成辅助 INDEX 对象。这些索引不独立于键,并且冗余信息通常是不希望的,这就是为什么默认情况下禁用这些索引的原因。
  • includeSystemSequences:某些数据库生成辅助 SEQUENCE 对象来实现表的标识。这些序列通常对客户端代码不感兴趣,这就是为什么默认情况下排除它们的原因。
  • includeSystemTables:某些数据库生成辅助 TABLE 对象来实现其他类型的表,例如“虚拟表”(例如,在 SQLite 中)。这些实现表通常对客户端代码不感兴趣,这就是为什么默认情况下排除它们的原因。
  • includeSystemUDTs:某些数据库生成辅助 UDT 对象来实现其他类型的 UDT,例如“匿名数组类型”(例如,在 Oracle 中用于 COLLECT() 聚合函数)。这些实现 UDT 通常对客户端代码不感兴趣,这就是为什么默认情况下排除它们的原因。

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo