JPA Наследование требует ID в подклассе
У меня проблема с моей моделью домена jpa. Я просто пытаюсь поиграть с простым наследованием, для которого я использую простой базовый класс Person и подкласс Customer. Согласно официальной документации (как JPA, так и EclipseLink) мне нужен только ID-атрибут / столбец в базовом классе.Но когда я запускаю свои тесты, я всегда получаю сообщение о том, что у Клиента нет @Id?
Сначала я подумал, что проблема заключается в видимости атрибута id, потому что сначала он был закрытым. Но даже после того, как я изменил его на защищенный (так что у подкласса есть прямой доступ), он не работает.
Человек:
@Entity @Table(name="Persons")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "TYPE")
public class Person {
@Id
@GeneratedValue
protected int id;
@Column(nullable = false)
protected String firstName;
@Column(nullable = false)
protected String lastName;
Покупатель:
@Entity @Table(name = "Customers")
@DiscriminatorValue("C")
public class Customer extends Person {
//no id needed here
У меня заканчиваются идеи и ресурсы, чтобы посмотреть. Это должно быть довольно простой проблемой, но я просто не вижу этого.