2
我有id類中的鑑別器列的繼承問題。該表將被創建成功,但每個條目在descriminator列中都會獲得「0」值。Hibernate 3.3繼承@IdClass中的@DiscriminatorColumn
這裏是我的基類:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.INTEGER)
@IdClass(BasePK.class)
@SuppressWarnings("serial")
public abstract class Base implements Serializable {
@Id
protected Test test;
@Id
protected Test2 test2;
@Id
private int type;
....
}
這裏是我的基PK類:
@Embeddable
public static class BasePK implements Serializable {
@ManyToOne
protected Test test;
@ManyToOne
protected Test2 test2;
@Column(nullable = false)
protected int type;
...
}
而且我有幾個子類是這樣的:
@Entity
@DiscriminatorValue("1")
@SuppressWarnings("serial")
public class Child extends Base {
}
所以,如果我堅持一個新的Child類我希望有「1」類型,但我得到「0」。它在我從BasePK類中刪除類型並直接添加到我的基類中時起作用。但類型應該是關鍵的一部分。
任何幫助將不勝感激。
謝謝。奇蹟般有效。 –