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