使用JPA 和Hibernate 在UTC 時區儲存日期/時間和時間戳
在資料庫系統中處理時態資料時,必須考慮儲存和解釋資料的時區。對於需要跨多個時區進行一致的日期和時間處理的應用程序,使用協調世界時 (UTC) 時區提供了標準參考。
設定JPA 和Hibernate 以將日期/時間值儲存並擷取為UTC ,無論本地時區如何,都可以採取以下步驟:
JPA 實體設定:
透過新增@TimeZone(value = TimeZone.UTC ) 到已註解的日期字段,您明確指定應以UTC 時間解釋和儲存該日期。
UTC 時區的Hibernate 設定:
Hibernate 5.2 及更高版本:
在Hiberate 5.中,您可以透過在JPA 設定檔(properties.xml) 中設定hibernate.jdbc.time_zone 屬性來覆寫Hibernate 使用的預設系統時區):
Spring Boot 應用程式:
如果您使用Spring Boot,您可以在application.properties 檔案中設定上述屬性:
範例:
範例:考慮範例中定義的JPA 實體。如果日期欄位設定為 2008-Feb-03 9:30am PST(太平洋標準時間),Hibernate 將在資料庫中將該值儲存為 2008-Feb-03 5:30pm UTC。這確保了無論伺服器或本地時區設定如何,時間都以 UTC 時區一致地儲存和檢索。以上是如何使用 JPA 和 Hibernate 在 UTC 時區儲存日期/時間和時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!