Добрый вечер. Я пытаюсь сопоставить иерархию классов с одной таблицей с помощью JPA / Hibernate и получаю сообщение об ошибке в моем подклассе, в котором говорится: «У сущности не определен атрибут первичного ключа». Классы определены следующим образом:
@Entity
@Table(name = "payments")
@Inheritance (strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="creditDebitFlag",discriminatorType=DiscriminatorType.STRING)
@Veto
public abstract class Payment implements IPayment, Serializable{
private static final long serialVersionUID = 8354755060201271169L;
public Integer id;
...
@Override
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
public void setId(Integer id) {
this.id = id;
}
@Override
public Integer getId() {
return this.id;
}
}
@Entity
@DiscriminatorValue("C")
@Veto
public class CreditPayment extends Payment implements Serializable {
private static final long serialVersionUID = 1L;
public CreditPayment() {
super();
}
}
Что я делаю не так? Я прочитал Hibernate docs и потратил немало времени, копаясь в Google, и не вижу, что пропустил.
Заранее благодарим за помощь!