移除某些 java.sql 屬性的 Temporal 註釋

OpenJPA 會持續保存屬性類型為 java.sql.Datejava.sql.Timejava.sql.Timestamp 且具有 javax.persistence.Temporal 註釋之屬性的欄位,而 EclipseLink 則會擲出異常狀況。

此規則會掃描下列註釋/屬性組合,其不需轉換資料但必須移除 Temporal 註釋來避免 EclipseLink 錯誤:

如果需要有轉換器類別來變更資料庫與實體物件之間的資料,請參閱對某些 java.sql 屬性將 Temporal 註釋取代為 Converter 規則。

在下例中,此規則在所有情況下都會標示 @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;

自動修正將移除「 時間 」註解。

   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 至 EclipseLink JPA 移轉:對映手冊。