Usuń adnotację Temporal dla niektórych atrybutów java.sql

Produkt OpenJPA utrwala pola atrybutów typu java.sql.Date, java.sql.Time lub java.sql.Timestamp, które mają adnotację javax.persistence.Temporal, a produkt EclipseLink zgłasza wyjątek.

Ta reguła przeprowadza skanowanie pod kątem następujących kombinacji adnotacja-atrybut, w których dane nie mają być przekształcane, a adnotacja Temporal musi zostać usunięta, aby uniknąć błędu produktu EclipseLink:

W przypadkach, gdy do zmiany danych między bazą danych a obiektem jednostki jest wymagana klasa konwertera, patrz reguła Zastąp adnotację Temporal adnotacją Converter dla niektórych atrybutów java.sql.

W poniższym przykładzie ta reguła powoduje oznaczenie flagą adnotacji @javax.persistence.Temporal we wszystkich przypadkach.

   @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;

Automatyczna poprawka usunie adnotacje czasowe.

   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;

Informacje na ten temat oraz na temat innych problemów z migracją interfejsu OpenJPA do interfejsu EclipseLink zawiera podręcznik Migracja interfejsu JPA ze środowiska OpenJPA do EclipseLink: Odwzorowania.