JPA と Hibernate を使用して UTC で日付/時刻値を保存および取得する方法

DDD
リリース: 2024-10-31 16:40:01
オリジナル
543 人が閲覧しました

How to Store and Retrieve Date/Time Values in UTC with JPA and Hibernate?

JPA および Hibernate で UTC タイムゾーンを使用した日付と時刻の管理

問題:

UTC タイムゾーンで日付/時刻値を保存および取得するように JPA と Hibernate を構成するにはどうすればよいですか?

JPA エンティティ構造:

次の注釈付き JPA エンティティを考えてみましょう。

<code class="java">public class Event {
    @Id
    public int id;

    @Temporal(TemporalType.TIMESTAMP)
    public java.util.Date date;
}</code>
ログイン後にコピー

シナリオ:

日付値が 2008-Feb-03 9:30am Pacific Standard Time (PST) であると仮定します。これを対応する UTC 時間、2008 年 2 月 3 日午後 5 時 30 分としてデータベースに保存することを目指しています。同様に、データベースから取得する場合、この日付は UTC として解釈される必要があります。つまり、UTC の午後 5 時 30 分が表示されると太平洋標準時の午前 9 時 30 分に変換されます。

解決策:

Hibernate 5.2 以降では、次のプロパティを利用して UTC タイム ゾーンを明示的に設定できます。

<code class="xml"><property name="hibernate.jdbc.time_zone" value="UTC"/></code>
ログイン後にコピー

このプロパティを JPA 構成ファイルのproperties.xml に追加します。

Spring Boot ユーザーの場合

<code class="properties">spring.jpa.properties.hibernate.jdbc.time_zone=UTC</code>
ログイン後にコピー

この設定を実装すると、JPA と Hibernate はすべての日付/時刻値が UTC タイム ゾーンで保存および取得され、一貫した解釈と取得が保証されます。異なるタイムゾーンにわたる精度。

以上がJPA と Hibernate を使用して UTC で日付/時刻値を保存および取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!