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