【问题标题】:PostgreSQL date converted to Java Date instead of LocalDatePostgreSQL 日期转换为 Java 日期而不是 LocalDate
【发布时间】:2018-03-28 04:13:56
【问题描述】:

使用 JOOQ 3.10.1,我相信 javaTimeTypes 标志默认为代码生成器打开。

我在 PostgreSQL 数据库中有一个表,其中包含 date 列和 time with time zone 列:

  • 正如预期的那样,time with time zone 列在记录类中变为 OffsetDateTime
  • date 在记录类中变成了java.sql.Date,而我本来希望是LocalDate

我错过了什么吗?

【问题讨论】:

标签: java postgresql jooq java-time


【解决方案1】:

使用 JOOQ 3.10.1,我相信 javaTimeTypes 标志默认为代码生成器打开。

这是规范:https://www.jooq.org/xsd/jooq-codegen-3.10.0.xsd

<element name="javaTimeTypes" type="boolean" default="false" minOccurs="0" maxOccurs="1">..

所以,不,它默认没有打开。

time with time zone 列按预期变为记录类中的 OffsetDateTime。

这是因为没有其他类型可以有意义地表示 time with time zone 数据类型。

【讨论】:

  • Mmm - 最糟糕的一点可能是我确实检查了 xsd 并得出结论认为它默认为 true - 可能需要询问配镜师而不是 stackoverflow!一切顺利,谢谢。
  • @assylias:好吧,现在这里也记录了它,供可能不知道 XSD 存在的未来访问者使用 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 1970-01-01
  • 2021-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多