Я активировал режим автоопределения Eclipselink 2.0, чтобы найти аннотированные классы @Entity:
<exclude-unlisted-classes>false</exclude-unlisted-classes>
Но Eclipselink говорит мне, что я должен добавить идентификатор для моей сущности:
Причина: исключение [EclipseLink-7161] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
Описание исключительной ситуации: у класса сущности [class com.example.domain.Image] первичный ключ не указан. Он должен определять либо @Id, @EmbeddedId, либо @IdClass. Если вы определили PK с помощью любой из этих аннотаций, убедитесь, что в иерархии классов сущностей нет смешанного типа доступа (аннотированные поля и свойства).
Пример класса:
import java.util.HashSet;
import java.util.Set;
//@Entity No annotation!
public class Image extends File {
private int width;
private int height;
private Set<Image> variants = new HashSet<Image>();
}
Как я могу сказать Eclipselink, что не аннотированные классы @Entity не являются сущностями?