Удалить аннотацию Temporal для ряда атрибутов java.sql

OpenJPA сохраняет поля атрибутов типа java.sql.Date, java.sql.Time или java.sql.Timestamp, имеющих аннотацию javax.persistence.Temporal, а EclipseLink генерирует исключительную ситуацию.

Это правило находит следующие сочетания аннотации и атрибута, для которых не требуется обеспечивать преобразование данных, но нужно удалить аннотацию Temporal, чтобы избежать ошибки EclipseLink:

Для тех тех случаев, когда требуется класс преобразователя для преобразования данных из формата базы данных в объект сущности и наоборот, предусмотрено правило Заменить аннотацию Temporal на Converter в некоторых атрибутах java.sql.

В приведенном ниже примере правило отметит все вхождения аннотации @javax.persistence.Temporal.

   @javax.persistence.Temporal(TemporalType.DATE)
   частное java.sql.Date dateDate; @javax.persistence.Temporal(TemporalType.TIME)
   частное java.sql.Date dateTime; @javax.persistence.Temporal(TemporalType.DATE)
   частное java.sql.Time timeDate; @javax.persistence.Temporal(TemporalType.TIME)
   частное java.sql.Time timeTime; @javax.persistence.Temporal(TemporalType.TIMESTAMP)
   частное java.sql.Time timeTimestamp; @javax.persistence.Temporal(TemporalType.ОТМЕТКА времени)
   частное java.sql.Timestamp timestampTimestamp;

Автоматическое исправление удалит аннотации Temporal.

   частное java.sql.Date dateDate;
   
   частное java.sql.Date dateTime;
   
   частное java.sql.Time timeDate;
   
   частное java.sql.Time timeTime;
   
   частное java.sql.Time timeTimestamp;
   
   частное java.sql.Timestamp timestampTimestamp;

Для получения дополнительной информации об этой проблеме и других проблемах, возникающих при миграции OpenJPA в EclipseLink, обратитесь к руководству Миграция OpenJPA в EclipseLink JPA: преобразования.