[英]Hibernate with java.time
我正在像這樣使用 Hibernate:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.12.Final</version>
</dependency>
我讀到,從 Hibernate 5.2 開始,就有對 java.time 的本機支持。
我的實體字段仍然是 java.util.Date,我想使用 LocalDateTime 查找實體。
但是,我收到一個異常 InvalidDataAccessApiUsageException 並顯示消息“參數值 [2020-02-26T00:00] 與預期類型 java.util.date 不匹配”。
不應該自動轉換 LocalDateTime 嗎?
不應該自動轉換 LocalDateTime 嗎?
不,幕后沒有魔法將java.util.Date
對象自動轉換為java.time.LocalDateTime
,反之亦然。
現在,您可以自己手動轉換對象,但我建議不要這樣做。 在應用程序的所有層中使用相同的數據類型被認為是一種很好的做法。
旁注:請記住java.util.Date
是一個較舊的類,並且不會考慮很多事情(例如閏年)。 相反, LocalDateTime
具有更多功能並且非常健壯。 這一切都取決於您的用例場景是什么。 我建議閱讀這兩個類的文檔以確定哪一個更適合您。 此外,這個答案在比較 Java 中的大多數日期時間類型方面做得很好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.