Мне нужно отобразить интерфейс как сущность, чтобы использовать разные реализации в коллекциях.
@Entity
@Table(name = "OPTION")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "TYPE", discriminatorType = DiscriminatorType.STRING)
public interface FilterOption {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId();
public void setId(Long id);
public Object getValue();
...
}
Я получаю сообщение об ошибке:
Внутреннее исключение: исключение [EclipseLink-7161] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.ValidationException Исключение Описание: В классе сущности [class FilterOption] первичный ключ не указан.Он должен определять либо @Id, @EmbeddedId, либо @ IdClass.
Как видите, объявлен @Id.Как я могу решить эту проблему?