零刻度十进制类型
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
零刻度十进制数,例如 DECIMAL(10) 或 NUMBER(10, 0),实际上是一种具有十进制精度而不是二进制/位精度整数类型。某些数据库(例如 Oracle)根本不支持实际的整数类型,仅支持十进制类型。从历史上看,jOOQ 生成最合适的整数包装类型,而不是 BigDecimal 或 BigInteger
-
NUMBER(2, 0)及以下:java.lang.Byte -
NUMBER(4, 0)及以下:java.lang.Short -
NUMBER(9, 0)及以下:java.lang.Integer -
NUMBER(18, 0)及以下:java.lang.Long
如果这不是所需的默认设置,则可以使用 强制类型在每个列的基础上显式停用,也可以使用以下标志全局停用
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration>
<generator>
<database>
<forceIntegerTypesOnZeroScaleDecimals>true</forceIntegerTypesOnZeroScaleDecimals>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和 Maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withForceIntegerTypesOnZeroScaleDecimals(true)
)
)
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
isForceIntegerTypesOnZeroScaleDecimals = true
}
}
}
有关更多详细信息,请参见配置 XSD和 Gradle 代码生成。
configuration {
generator {
database {
forceIntegerTypesOnZeroScaleDecimals = 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.
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!