2016-09-08 10 views
-3

日付は私のUIからdd/mm/yyyy形式です。 DBの日付はyyyy-mm-ddの形式です。 日付と時刻をUIからデータベースに変換する必要があります。日付形式コンバータのアプローチ

DTOおよびエンティティの日付は、java.util.Date型です。 私は春のものを使用していますdtoとエンティティのプロパティを設定するためにBeanUtils.copyProperties(source、destination)を使用しています。

私は、次の解決策を持っている: 1.実装JPA AttributeConverter 2.シンプルな日付フォーマット変換ユーティリティクラスを使用したカスタムアノテーション 3を使用しました。 日付形式コンバータの最適な方法は何ですか。

私のテクノロジ・スタックは、次のとおりです。

  1. jQueryの
  2. JDK 7
  3. 春4
  4. JPA
+4

「DBの日付はyyyy-mm-dd形式です」 - データベースで日付を表す文字列を使用する理由は何ですか?ほとんどのデータベースには日付型があります...私はそれを使用することをお勧めします。その時点で、特定の形式に変換するのではなく、ドメイン固有の型に固執することができます。 –

+0

私たちはSQL Serverを使用していますが、これは日付形式ですが、データ型はdateです。 –

+2

データ型がデータベースで 'Date'の場合、それをテキストとして扱うべきではありません。日付として*扱います。 'PreparedStatement.setDate'などを参照してください。 –

答えて

0

JPAは、自動的に日付を変換する必要があります。目的を表示するためにそれをフォーマットするには、使用:

String formattedDate = new SimpleDateFormat("dd/mm/yyyy").format(date); 
0

使用したオブジェクトではなく、文字列

不要の​​日付時刻値の文字列を操作します。代わりに、日時オブジェクトを使用します。オブジェクトには「フォーマット」はありません。

実際には、日付の値はSQL DATEタイプとしてデータベースに格納されています。したがって、これをオブジェクトとしてJavaに取り込むのは、JDBC 4.2以降の場合です。JDBCの場合はjava.sql.DATEとなります。

検索スタックオーバーフローテクノロジスタックでこれらのオブジェクトタイプを使用する方法。これはすでに回でカバーされています。