ホームページ >データベース >mysql チュートリアル >JPA を使用して Java 日付オブジェクトを MySQL DATETIME カラムに適切に保存する方法

JPA を使用して Java 日付オブジェクトを MySQL DATETIME カラムに適切に保存する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 06:08:09533ブラウズ

How to Properly Store Java Date Objects in MySQL DATETIME Columns Using JPA?

JPA を使用した MySQL DATETIME への Java Date の保存

JPA (Hibernate) を使用して Java Date オブジェクトを MySQL DATETIME カラムに効果的に保存するには、 Hibernate の JPA のデフォルトの動作を考慮する必要があります。

問題:

Java Date オブジェクトを DATETIME 列に直接挿入すると、Hibernate は日付部分のみを保存し、時刻コンポーネントを破棄する場合があり、その結果、 「2009-09-22 00:00:00」のような値MySQL.

解決策:

日付と時刻の情報の両方を保持するには、Java Date オブジェクトを MySQL DATETIME 形式に準拠する文字列表現に変換する必要があります。 (「yyyy-MM-dd HH:mm:ss」)。これを実現する方法は次のとおりです。

  1. Java Date オブジェクトを作成します。
java.util.Date dt = new java.util.Date();
  1. SimpleDateFormat を使用して、フォーマットする日付:
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1. 日付を文字列にフォーマットします:
String currentTime = sdf.format(dt);
  1. フォーマットされた文字列を DATETIME に設定します列:

JPA 永続操作を実行するときは、DATETIME カラムの値を手順 3 で取得したフォーマットされた文字列に設定していることを確認してください。これにより、Hibernate はそれを MySQL DATETIME 形式に正しくマップします。 .

このアプローチに従うことで、Java Date オブジェクトの日付と時刻の両方のコンポーネントを MySQL DATETIME 列に格納し、正確なデータ表現と操作。

以上がJPA を使用して Java 日付オブジェクトを MySQL DATETIME カラムに適切に保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。