首頁 >Java >java教程 >如何使用 JPA 和 Hibernate 儲存和檢索 UTC 日期/時間值?

如何使用 JPA 和 Hibernate 儲存和檢索 UTC 日期/時間值?

DDD
DDD原創
2024-10-31 16:40:01672瀏覽

How to Store and Retrieve Date/Time Values in UTC with JPA and Hibernate?

使用UTC 時區與JPA 和Hibernate 進行日期和時間管理

問題:

我們如何設定JPA 和Hibernate 來儲存和檢索UTC 時區的日期/時間值?

JPA 實體結構:

考慮以下帶註釋的JPA 實體:

<code class="java">public class Event {
    @Id
    public int id;

    @Temporal(TemporalType.TIMESTAMP)
    public java.util.Date date;
}</code>

場景:

假設我們的日期值為2008 年2 月3 日上午9:30 太平洋標準時間(PST)。我們的目標是將其儲存在資料庫中,作為相應的 UTC 時間,2008 年 2 月 3 日下午 5:30。同樣,從資料庫檢索時,該日期應解釋為 UTC,這意味著顯示時 UTC 下午 5:30 會轉換為太平洋標準時間上午 9:30。

解決方案:

從Hibernate 5.2 開始,您可以利用下列屬性明確設定UTC 時區:

<code class="xml"><property name="hibernate.jdbc.time_zone" value="UTC"/></code>

將此屬性新增到properties.xml JPA 設定檔中。

對於Spring Boot 用戶,將此屬性新增至application.properties 檔案:

<code class="properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>

透過實作此配置,JPA 和Hibernate 將確保所有日期/時間值都在UTC 時區中儲存和檢索,從而確保一致的解釋和不同時區的準確性。

以上是如何使用 JPA 和 Hibernate 儲存和檢索 UTC 日期/時間值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn