OpenJPA conserva i campi degli attributi di tipo java.sql.Date, java.sql.Time o java.sql.Timestamp che hanno un'annotazione javax.persistence.Temporal, mentre EclipseLink genera un'eccezione.
Questa regola ricerca le seguenti combinazioni di annotazione-attributo in non è necessario convertire i dati e l'annotazione Temporal deve essere rimossa per evitare un errore in EclipseLink:
javax.persistence.Temporal(TemporalType.DATE) in un attributo java.sql.Datejavax.persistence.Temporal(TemporalType.TIME) in un attributo java.sql.Datejavax.persistence.Temporal(TemporalType.DATE) in un attributo java.sql.Timejavax.persistence.Temporal(TemporalType.TIME) in un attributo java.sql.Timejavax.persistence.Temporal(TemporalType.TIMESTAMP) in un attributo java.sql.Time
javax.persistence.Temporal(TemporalType.TIMESTAMP) in un attributo java.sql.TimestampattributePer i casi in cui è necessaria una classe converter modificare i dati tra il database e l'oggetto entità, consultare la regola Sostituzione dell'annotazione Temporal con un'annotazione Converter per alcuni attributi java.sql.
Nel seguente esempio, questa regola contrassegna l'annotazione @javax.persistence.Temporal in tutti i casi.
@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) privato java.sql.Time timeDate; @javax.persistence.Temporal(TemporalType.TIME) private java.sql.Time timeTime; @javax.persistence.Temporal(TemporalType.TIMESTAMP) privato java.sql.Time timeTimestamp; @javax.persistence.Temporal(TemporalType.TIMESTAMP) privato java.sql.Timestamp timestampTimestamp;
Una correzione automatica rimuoverà le annotazioni temporali.
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; privato java.sql.Timestamp timestampTimestamp;
Per informazioni su questo problema e altri problemi della migrazione da OpenJPA a EclipseLink, consultare la guida OpenJPA to EclipseLink JPA Migration: Mappings.