使用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