使用JPA 和Hibernate 在UTC 時區儲存日期/時間
在JPA/ 中處理日期和時間時擔心時區差異休眠應用程式?本文探討如何在 UTC (GMT) 時區有效儲存和檢索時態數據,確保跨不同時區進行一致且準確的處理。
考慮下面帶註釋的JPA 實體:
<code class="java">public class Event { @Id public int id; @Temporal(TemporalType.TIMESTAMP) public java.util.Date date; }</code>
要確保存儲的日期反映UTC 時間:
解決方案:
從Hibernate 5.2 開始,設定UTC 時區就簡化了。透過將以下屬性新增至JPA 設定檔(properties.xml):
<code class="xml"><property name="hibernate.jdbc.time_zone" value="UTC"/></code>
,或對於Spring Boot 應用程序,將此屬性新增至application.properties:
<code class="properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>
此配置可確保所有時態資料都在UTC 時區儲存和檢索。例如,日期 2008 年 2 月 3 日上午 9:30 太平洋標準時間 (PST) 將在資料庫中儲存為 2008 年 2 月 3 日下午 5:30 UTC,並在檢索時按此解釋。
以上是如何使用 JPA 和 Hibernate 以 UTC 格式儲存日期/時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!