私はストレートな解決策はないと思います。 1つの回避策は、Timestamp
とDateTime
フィールドをPOJOに設定し、Timestamp
属性の設定メソッドでDateTime
の値を下の例のように設定することです。
public class Pojo{
private Timestamp timestamp;
private DateTime dateTime;
public Timestamp getTimestamp() {
if (timestamp == null && dateTime != null) {
this.timestamp = new Timestamp(dateTime.getMillis());
}
return timestamp;
}
public void setTimestamp(Timestamp timestamp) {
if (dateTime == null && timestamp != null) {
this.dateTime = new DateTime(timestamp.getTime());
}
this.timestamp = timestamp;
}
public DateTime getDateTime() {
if (dateTime == null && timestamp != null) {
this.dateTime = new DateTime(timestamp.getTime());
}
return dateTime;
}
public void setDateTime(DateTime dateTime) {
if (timestamp == null && dateTime != null) {
this.timestamp = new Timestamp(dateTime.getMillis());
}
this.dateTime = dateTime;
}
}
外部ライブラリをプロジェクトに導入する場合、[ThreeTen Backport](http://www.threeten.org/threetenbp/)はなぜですか?これは、最新のJavaの日付と時刻のAPIである 'java.time'を提供します。 Joda-Timeのホームページからの引用:「ユーザーは今すぐ 'java.time'(JSR-310)に移行するように求められています。」Joda-Timeは主に「完成」プロジェクトとみなされています。大幅な拡張は計画されていません。 Java SE 8を使用している場合は、 'java.time'(JSR-310)に移行してください。" Java 6または7を使用していても、今日はそのステップを実行できます。 –