2016-12-09 13 views
1

この質問はアプリケーション設計の実践です。私はpojoの状況を解決する方法と、より多くのデータ型にアプリケーションに存在するフィールドを考えています。どのように文字列/日付フィールドのデータ型変換をpojoで解決するのですか?

私のpojoには、Dateというフィールドが1つあります。手でこのpojoを作成するときにDateと設定します。私はXMLから構文解析するときにString表現を扱わなければなりません。JPAで永続化する場合は、Timestampにする必要があります。

これらの状況では一般にベストプラクティスは何ですか?そのpojoは2つのデータ型表現(とDate)または1つの一般的なDateの中でこのフィールドを持っていなければならず、文字列から解析するとDateに変換します。String

質問#2:この日付の値をStringからDateに変換する方法 - pojoクラスの静的メソッドですか?それをいくつかの外部ユーティリティクラスに置きます。

編集#1:これらのpojo-sにはBuilderパターンを使用します。

+0

これは良い質問です。 Java 8の新しいより良い設計の日付と時刻パッケージは、JPAと互換性がありません。 Jodatimeは勝者ですか? –

答えて

1

私のドメインクラスがDate - DateTime(joda)を豊かに表現しているのが好きです。 Jodaは日付を操作できるようにたくさんのメソッドを提供していますので、これは私の意見では最良の選択です。私は日付をXMLまたはデータベースに書き込む必要があるとき、私はそれらを変換します。

Builderパターンを使用しているため、日付を設定する複数のメソッドを提供できます。たとえば、

文字列と日付の間の変換は単なる呼び出しであるため、別のユーティリティクラスである必要はありません。もう一つはフォーマッターです。それは、日付がStringに書き込まれた形式を知っていなければなりません。おそらく95%のケースで同じフォーマットを使用しているので、私はフォーマッタを抽出します。

+0

ええ、それは私のために良いようです! :) – Artegon

関連する問題