簡體   English   中英

使用 java.time 休眠

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM