Odebrat anotaci Temporal pro některé atributy java.sql

Rozhraní OpenJPA trvale uchovává pole atributů typu java.sql.Date, java.sql.Time nebo java.sql.Timestamp, které mají anotaci javax.persistence.Temk, zatímco EclipseLink generuje výjimku.

Toto pravidlo prochází následujícími kombinacemi anotace-atribut, kde není nutné převádět data, a proto musí být odebrána anotace Temporal, aby nedošlo k chybě EclipseLink:

V případech, kdy je třeba ke změně dat mezi databází a objektem entity použít třídu převodníku, prostudujte si pravidlo Nahradit anotaci Temporal pomocí převodníku pro některé atributy java.sql.

V následujícím příkladu toto pravidlo značí anotaci @javax.persistence.TemTemk ve všech případech.

   @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) soukromé java.sql.Time timeTimestamp; @javax.persistence.Temporal(TemporalType.TIMESTAMP) soukromé java.sql.Timestamp timestampTimestamp;

Automatická oprava odstraní časové anotace.

   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;

Informace o tomto problému a jiných problémech migrace OpenJPA na EclipseLink viz příručka Migrace OpenJPA na EclipseLink JPA: Mapování.