你需要做的是添加註釋的父類:
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType.STRING)
@Table(name = "figures")
DiscriminatorColumn將通過休眠創建知道這個對象是什麼類型的新列。
在我來說,我創建一個名爲「類型」
一列,也註釋你的所有子類
在DiscriminatorValue你需要插入使用Hibernate的值來標識類
在我的情況下,它是字符串。 (在DiscriminatorColumn註釋discriminatorType)
@Entity
@DiscriminatorValue(V)
所以你的情況可能看起來像:
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType.STRING)
@Table(name = "figures")
public class Figure{
}
@Entity
@DiscriminatorValue("S")
public class Square extends Figure{
}
@Entity
@DiscriminatorValue("C")
public class Circle extends Figure{
}
您可以在這裏找到更多的信息:http://www.javatpoint.com/hibernate-table-per-hierarchy-using-annotation-tutorial-example