日期作为时间戳
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
Oracle数据库不知道SQL标准DATE
类型(YYYY-MM-DD
)。它的厂商特定DATE
类型实际上是一个TIMESTAMP(0)
,即一个精度为零小数秒的TIMESTAMP
(YYYY-MM-DD HH24:MI:SS
)。由于历史原因,许多遗留的Oracle数据库不使用TIMESTAMP
数据类型,而是使用DATE
数据类型来表示时间戳。在这种情况下,客户端应用程序也需要将这些列视为时间戳。
如果将模式升级到正确的TIMESTAMP
用法不可行,并且在每个列的基础上使用数据类型重写也不可行,那么此标志是正确的激活选项。它将从Oracle类型系统中删除DATE
类型(至少就jOOQ代码生成器而言),并假装所有此类列实际上都是TIMESTAMP
类型。以下是如何激活此标志
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration> <generator> <database> <dateAsTimestamp>true</dateAsTimestamp> </database> </generator> </configuration>
new org.jooq.meta.jaxb.Configuration() .withGenerator(new Generator() .withDatabase(new Database() .withDateAsTimestamp(true) ) )
import org.jooq.meta.jaxb.* configuration { generator { database { isDateAsTimestamp = true } } }
有关更多详细信息,请参阅配置XSD和Gradle代码生成。
configuration { generator { database { dateAsTimestamp = 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.
此标志将在应用任何其他数据类型相关标志之前应用,包括强制类型。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!