使用JOOQ 3.10.1,我相信代码生成器默认为javaTimeTypes
标志。PostgresSQL日期转换为Java日期而不是LocalDate
我有一个PostgreSQL数据库与date
列和time with time zone
列的表:
- 的
time with time zone
列成为在记录类的OffsetDateTime
,符合市场预期。 date
在记录类中变为java.sql.Date
,当时我预计有LocalDate
。
我在这里丢失了什么?
使用JOOQ 3.10.1,我相信代码生成器默认为javaTimeTypes
标志。PostgresSQL日期转换为Java日期而不是LocalDate
我有一个PostgreSQL数据库与date
列和time with time zone
列的表:
time with time zone
列成为在记录类的OffsetDateTime
,符合市场预期。date
在记录类中变为java.sql.Date
,当时我预计有LocalDate
。我在这里丢失了什么?
使用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
数据类型。
嗯 - 最糟糕的一点可能是我检查了xsd并断定它默认为真 - 可能需要问一个配镜师而不是stackoverflow!所有排序的感谢。 – assylias
@assylias:好吧,现在这里也记录下来,以便未来的访问者可能不知道XSD存在:) –
不知道它是否会有帮助,但是这里有一些关于转换器的东西,包括'LocalDateConverter':https://www.jooq.org/doc/3.7/manual/sql-building/queryparts/custom-绑定/。 – Berger
这就是我在3.10之前一直在使用的东西,但它不应该再有必要。 – assylias