生成的表
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
数据库中的每个表和视图都将生成一个 org.jooq.Table 实现,如下所示
public class Book extends TableImpl<BookRecord> {
// The singleton instance
public static final Book BOOK = new Book();
// Generated columns
public final TableField<BookRecord, Integer> ID = createField("ID", INTEGER, this);
public final TableField<BookRecord, Integer> AUTHOR_ID = createField("AUTHOR_ID", INTEGER, this);
public final TableField<BookRecord, String> TITLE = createField("TITLE", VARCHAR, this);
// Covariant aliasing method, returning a table of the same type as BOOK
@Override
public Book as(java.lang.String alias) {
return new Book(alias);
}
// [...]
}
影响生成的表的标志
来自 代码生成配置 的这些标志会影响生成的表
- recordVersionFields:覆盖超类中的相关方法以返回 VERSION 字段
- recordTimestampFields:覆盖超类中的相关方法以返回 TIMESTAMP 字段
- syntheticPrimaryKeys:这会覆盖现有的主键信息,以允许“自定义”主键列集
- overridePrimaryKeys:这会覆盖现有的主键信息,以允许将唯一键提升为主键
- dateAsTimestamp:这会影响所有相关列
- unsignedTypes:这会影响所有相关列
- relations:覆盖超类中的相关方法以提供主键、唯一键、外键和标识信息
- instanceFields:此标志控制表列上的“static”关键字以及别名便利性
- records:生成的记录类型从表中引用,从而允许类型安全的单表记录获取
控制表生成的标志
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
<generator>
<generate>
<!-- Allows for turning on tables generation: default true -->
<tables>true</tables>
</generate>
</generator>
</configuration>
有关更多详细信息,请参见 配置 XSD、独立代码生成和 maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(
new Generate()
// Allows for turning on tables generation: default true
.withTables(true)
)
import org.jooq.meta.jaxb.*
configuration {
generator {
generate {
// Allows for turning on tables generation: default true
isTables = true
}
}
}
有关更多详细信息,请参见 配置 XSD 和 gradle 代码生成。
configuration {
generator {
generate {
// Allows for turning on tables generation: default true
tables = true
}
}
}
有关更多详细信息,请参见 配置 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.
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!