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

如何使用 JPA 和 Hibernate 在 UTC 時區儲存日期/時間和時間戳記?

Barbara Streisand
Barbara Streisand原創
2024-10-31 16:46:30680瀏覽

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

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

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