Elimine la anotación temporal para algunos atributos java.sql

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:

Para 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.