0

playOrm マッピングで Date フィールドを使用したいと考えています。ただし、使用する場合

private Date birthDate;

私のBeanでは、このタイプがサポートされていないという例外が表示されます。

4

2 に答える 2

1

問題を開いた場合は、日付を追加できます。代わりにこれを言うDateを使用すると、実際に例外をスローすることを考えていました..

jdk7で追加されるはずだったjoda-timeのLocalDate、LocalTime、またはLocalDateTimeを使用してください。この理由は、java の java.util.Date と Calendar にはバグがあり、jdk バグ システムには多くの既知のバグがあるためです。

これも参照 Joda Time to be included in Java 7?

ただし、それでも Date を使用する場合は、次の方法があります。

Map<Class, Converter> converters = new HashMap<Class, Converter>();
Converter d = new DateConverter();
converters.put(Date.class, d);

次に、DateConverter クラスを使用して Converter インターフェースを実装し、byte[] を Date に、Date を byte[] に、String を Date に、Date を String にメソッドに実装する必要があります。注: これらのメソッドはすべて、S-SQL およびエンティティの変換のために呼び出されます...すべて同じコンバーターを使用します。

コマンド ライン ツールは文字列変換を使用してコマンド ライン S-SQL を変換し、オブジェクトをクエリするため、文字列変換は非常に重要です。

ただし、PlayOrm に組み込みたい場合は、Issue を開くだけですぐに実行できますが、信頼性が高く、より多くのことができるので、代わりに joda-time で LocalDateTime を使用することをお勧めします... .joda-time をかなり使用した後では、C# の日付 API と同等であり、古い Java のものよりもはるかに優れています。

ディーン

于 2012-10-18T01:04:34.063 に答える
0

何を求めているのかわかりませんが、Java API for Date で述べられているように、「JDK 1.1 の時点では、Calendarクラスを使用して日付フィールドと時刻フィールドを変換し、DateFormatクラスを使用してフォーマットと解析を行う必要があります。日付文字列。Date の対応するメソッドは非推奨です。"

于 2012-10-18T01:05:35.017 に答える