К атрибутам сущности без аннотаций необходимо добавить аннотацию Transient

В OpenJPA те атрибуты, которые сами представляют собой классы сущностей, по умолчанию не сохраняются. В EclipseLink по умолчанию применяется другой принцип работы: эти атрибуты сохраняются в базе данных. Для того чтобы сохранить такой режим работы, как в OpenJPA, то есть игнорировать атрибуты сущностей без аннотаций, добавьте аннотацию javax.persistence.Transient к этим атрибутам в EclipseLink.

Это правило отмечает атрибуты без аннотаций JPA, которые являются классами сущностей. Если инструменту не удается найти связанный класс, он добавляет предупреждение в протокол ошибок Eclipse. Класс может быть не найден, если зависимые проекты или классы недоступны, либо есть ошибки компиляции. Автоматическое исправление добавит аннотацию @Transient к атрибуту.

В следующем классе сущности правило отметит поле entityReference.

импорт javax.persistence.Entity; импорт javax.persistence.Id; @Entity public class EntityA { @Id private int id; private EntityB entityReference; }
импорт javax.persistence.Entity; импорт javax.persistence.Id; @Entity public class EntityB { @Id private int id; }

Автоматическое исправление добавит аннотацию @Transient и оператор импорта.

импорт javax.persistence.Entity; импорт javax.persistence.Id; импорт javax.persistence.Transient; @Entity public class EntityA { @Id private int id; @Transient private EntityB entityReference; }

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