一部の java.sql 属性の Temporal アノテーションを削除する

OpenJPA では、javax.persistence.Temporal アノテーションを持つ java.sql.Date 型、java.sql.Time 型、または java.sql.Timestamp 型の属性のフィールドは永続化されるのに対し、EclipseLink では例外がスローされます。

この規則は、データを変換する必要がなく、EclipseLink エラーを避けるため Temporal アノテーションを削除する必要のある、以下のアノテーションと属性の組み合わせをスキャンします。

データベースとエンティティー・オブジェクト間でデータを変更するためにコンバーター・クラスが必要となる場合については、一部の java.sql 属性で Temporal アノテーションをコンバーターに置換する規則を参照してください。

以下の例で、この規則はすべてのケースの @javax.persistence.Temporal アノテーションにフラグを立てます。

   @javax.persistence.Temporal(TemporalType。DATE) private java.sql.Date dateDate; @javax.persistence.Temporal(TemporalType。TIME) private java.sql.Date dateTime; @javax.persistence.Temporal(TemporalType。DATE) private java.sql.Time timeDate; @javax.persistence.Temporal(TemporalType。TIME) private java.sql.Time timeTime; @javax.persistence.Temporal(TemporalType。TIMESTAMP) private java.sql.Time timeTimestamp; @javax.persistence.Temporal(TemporalType。TIMESTAMP) private java.sql.Timestamp timestampTimestamp;

自動修正により、 Temporal アノテーションは削除される。

   private java.sql.Date dateDate; private java.sql.Date dateTime; private java.sql.Time timeDate; private java.sql.Time timeTime; private java.sql.Time timeTimestamp;
   
   private java.sql.Timestamp timestampTimestamp;

この問題や、OpenJPA から EclipseLink へのマイグレーションに関するその他の問題については、 OpenJPA to EclipseLink JPA Migration: Mappings ガイドを参照してください。