首頁  >  文章  >  Java  >  如何使用 JPA 和 Hibernate 以 UTC 格式儲存日期/時間和時間戳記?

如何使用 JPA 和 Hibernate 以 UTC 格式儲存日期/時間和時間戳記?

Susan Sarandon
Susan Sarandon原創
2024-11-06 07:08:02414瀏覽

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

使用JPA 和Hibernate 以UTC 格式儲存日期/時間和時間戳

在Java Persistence API (JPA) 和Hibernate 中,管理日期/時間不同時區的時間戳值可能是一個挑戰。為了確保 UTC(協調世界時)時間的儲存和檢索一致,正確配置框架至關重要。

考慮提供的帶註釋的JPA 實體:

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

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

存儲日期/time UTC 時區, hibernate.jdbc.time_zone 屬性可以配置為如下:

使用Properties.xml

在properties.xml JPA 設定檔中,加入以下屬性:

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

使用Spring Boot

如果使用Spring Boot,請將此屬性新增至您的application.properties 檔案:

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

使用此配置,日期和時間戳將以UTC 時區儲存和檢索。例如,如果日期是 2008-02-03 9:30am 太平洋標準時間 (PST),它將在資料庫中儲存為 2008-02-03 5:30pm UTC。檢索時,它將被解釋為 UTC 時間,因此即使轉換為另一個時區,下午 5:30 UTC 仍然是下午 5:30 UTC。

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

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