2017-10-16 193 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存在:) –