OpenJPA persistă câmpurile atributelor de tipul java.sql.Date, java.sql.Time sau
java.sql.Timestamp care au o adnotare javax.persistence.Temporal, în care EclipseLink aruncă o excepţie.
Această regulă scanează pentru următoarele combinaţii adnotare-atribut unde
datele nu are nevoie să fie convertite şi
adnotarea Temporal trebuie să fie înlăturată pentru a evita o eroare EclipseLink:
javax.persistence.Temporal(TemporalType.DATE)
pe un atribut java.sql.Datejavax.persistence.Temporal(TemporalType.TIME)
pe un atribut java.sql.Datejavax.persistence.Temporal(TemporalType.DATE)
pe un atribut java.sql.Timejavax.persistence.Temporal(TemporalType.TIME)
pe un atribut java.sql.Timejavax.persistence.Temporal(TemporalType.TIMESTAMP)
pe un atribut java.sql.Time
javax.persistence.Temporal(TemporalType.TIMESTAMP)
pe un atribut java.sql.TimestampPentru cazurile în care un convertor clasă este necesar pentru a modifica datele între baza de date şi obiectul entitate, vedeţi regula Înlocuire adnotare Temporal cu un convertor pentru unele atribute java.sql.
În următorul exemplu, această regulă semnalează adnotarea @javax.persistence.Temporal în toate cazurile.
@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;
O corecție automată va elimina adnotările temporale.
privat java.sql.Date dateDate; privat java.sql.Date dateTime; privat java.sql.Time timeDate; privat java.sql.Time timeTime; privat java.sql.Time timeTimestamp; privat java.sql.Timestamp timestampTimestamp;
Pentru informaţii despre această problemă şi alte probleme legate de migrarea OpenJPA la EclipseLink, vedeţi ghidul OpenJPA to EclipseLink JPA Migration: Mappings.