2017-10-16 132 views
3

使用JOOQ 3.10.1,我相信代码生成器默认为javaTimeTypes标志。PostgresSQL日期转换为Java日期而不是LocalDate

我有一个PostgreSQL数据库与date列和time with time zone列的表:

  • time with time zone列成为在记录类的OffsetDateTime,符合市场预期。
  • date在记录类中变为java.sql.Date,当时我预计有LocalDate

我在这里丢失了什么?

+0

不知道它是否会有帮助,但是这里有一些关于转换器的东西,包括'LocalDateConverter':https://www.jooq.org/doc/3.7/manual/sql-building/queryparts/custom-绑定/。 – Berger

+0

这就是我在3.10之前一直在使用的东西,但它不应该再有必要。 – assylias

回答

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数据类型。

+1

嗯 - 最糟糕的一点可能是我检查了xsd并断定它默认为真 - 可能需要问一个配镜师而不是stackoverflow!所有排序的感谢。 – assylias

+0

@assylias:好吧,现在这里也记录下来,以便未来的访问者可能不知道XSD存在:) –