包含对象类型
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
有时,您只想生成表。或者只生成例程。或者您想将它们从生成中排除。无论用例如何,都可以使用以下额外的包含标志来实现这一点
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) ) )
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 } } }
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
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 } } }
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// 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 通常对客户端代码不感兴趣,这就是为什么默认情况下排除它们的原因。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!