使用JPA 和Hibernate 以UTC 格式儲存日期/時間和時間戳
在Java Persistence API (JPA) 和Hibernate 中,管理日期/時間不同時區的時間戳值可能是一個挑戰。為了確保 UTC(協調世界時)時間的一致儲存和檢索,正確配置框架至關重要。
考慮提供的附註解的 JPA 實體:
public class Event {
@Id
public int id;
@Temporal(TemporalType.TIMESTAMP)
public java.util.Date date;
}
要以UTC 時區儲存日期/時間,可以如下設定hibernate.jdbc.time_zone 屬性:
使用Properties.xml
在properties.xml JPA設定檔中,加入以下屬性:
使用Spring Boot
如果使用Spring Boot,請將此屬性新增至您的application.properties file:
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
使用此配置,日期和時間戳將在 UTC 時區中儲存和檢索。例如,如果日期是 2008-02-03 9:30am 太平洋標準時間 (PST),則它將在資料庫中儲存為 2008-02-03 5:30pm UTC。檢索時,它將被解釋為 UTC 時間,因此即使轉換為另一個時區,下午 5:30 UTC 仍然是下午 5:30 UTC。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3