OpenJPA persiste los campos de atributos del tipo java.sql.Date, java.sql.Time, o
java.sql.Timestamp que tienen una anotación javax.persistence.Temporal, mientras que EclipseLink lanza una excepción.
Esta regla realiza un examen en búsqueda de las combinaciones de anotación-atributo siguientes donde no es necesario convertir los datos y la anotación Temporal se debe eliminar para evitar un error EclipseLink:
javax.persistence.Temporal(TemporalType.DATE) en un atributo java.sql.Datejavax.persistence.Temporal(TemporalType.TIME) en un atributo java.sql.Datejavax.persistence.Temporal(TemporalType.DATE) en un atributo java.sql.Timejavax.persistence.Temporal(TemporalType.TIME) en un atributo java.sql.Timejavax.persistence.Temporal(TemporalType.TIMESTAMP) en java.sql.Time
javax.persistence.Temporal(TemporalType.TIMESTAMP) en un atributo java.sql.TimestampPara los casos donde es necesaria una clase de conversor para cambiar los datos entre la base de datos y el objeto de entidad, consulte la regla Eliminar anotación temporal con un conversor para algunos atributos java.sql.
En el ejemplo siguiente, esta regla señala la anotación @javax.persistence.Temporal en todos los casos.
@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;
Una corrección automática eliminará las anotaciones temporales.
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;
Si desea más información sobre este problema y otros problemas de migración de OpenJPA a EclipseLink, consulte la guía Migración de OpenJPA a EclipseLink JPA: Correlaciones.