2
晚上好。我试图使用JPA/Hibernate将类层次结构映射到单个表,并在我的子类上收到错误,指出“实体没有定义主键属性”。这些类定义如下:Hibernate Single_Table持久化实体没有在子类上定义的主键属性
@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,并花费了相当多的时间来浏览谷歌,看不到我错过了什么。
在此先感谢您的帮助!
就是这样!我可以发誓我已经在吸气剂上设置了注释,但是我只是将它们移开,问题就消失了。谢谢! – user599144