使用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中文網其他相關文章!