jooq 为 Oracle 返回没有时间的日期

Posted

技术标签:

【中文标题】jooq 为 Oracle 返回没有时间的日期【英文标题】:jooq returns date without time for Oracle 【发布时间】:2019-02-11 17:41:59 【问题描述】:

我正在使用 Jooq v3.1.0,但 Oracle 日期列有问题。 Jooq 调用的 Oracle 过程仅返回没有时间的日期信息(例如:“31.08.2018”。我预计“31.08.2018 18:44:05”)

我尝试了以下解决方法

<database>
  <!-- Use this flag to force DATE columns to be of type TIMESTAMP -->
  <dateAsTimestamp>true</dateAsTimestamp>

  <!-- Define a custom binding for such DATE as TIMESTAMP columns -->
  <forcedTypes>
    <forcedType>
      <userType>java.sql.Timestamp</userType>
      <binding>org.jooq.impl.DateAsTimestampBinding</binding>
      <types>DATE</types>
    </forcedType>
  </forcedTypes>
</database>

但它没有工作抛出以下错误: org.jooq:jooq-codegen-maven:3.1.0:generate for parameter userType: Cannot find 'userType' in class org.jooq.util.jaxb.ForcedType

有什么建议吗?谢谢。

【问题讨论】:

自 jOOQ 3.1 以来已经在这个和其他领域进行了许多修复 - 我强烈建议升级到当前最新版本 3.11 【参考方案1】:

根据 jOOQ configuration 自定义绑定是不需要的。 dateAsTimestamp 标志应该足以让它工作。

【讨论】:

以上是关于jooq 为 Oracle 返回没有时间的日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jooq 中选择 unix 时间戳作为日期?

从jooq中的日期获取月份名称

如何使用 jOOQ 通过 SQLite 正确生成日期和时间类型

数值超出范围减去 jOOQ 中的日期

oracle 中的日期函数

Oracle 选择多条记录的最大日期