我非常了解继承策略,如:
1.每个层次结构
2.每个混凝土类的表
3.每个子类的表
所以他们都是继承策略,所以我们应该选择什么基础?
答案 0 :(得分:0)
Hibernate继承:
为了在hibernate中实现继承,Hibernate为我们提供了3种不同类型的策略。
每个类的表的Hibernate继承
每个具体类的表的Hibernate继承
每个子类的表的Hibernate继承
要将继承类映射到数据库表,我们可以使用上述任何一种策略。没有哪个是最佳策略的概念,根据我们的应用要求,我们可以选择上述之一。
每个类的表的Hibernate继承:
如果我们想将所有类层次结构的数据保存到单个数据库表中,我们可以选择此策略。对于每个类策略的这个表以及对象细节,hibernate将插入一个名为discriminator的特殊值,以便在表中轻松识别pojo类对象。
每个具体类的表的Hibernate继承:
当需要将每个具体的继承对象存储在单独的数据库表中时,选择此hibernate继承策略。对于这种策略,鉴别器是可选的。
每个子类的表的Hibernate继承:
如果我们想要将超类及其子类映射到自己的数据库表,我们可以选择这种hibernate继承策略。子类表有一个主键,它也是一个外键来获取与超类表的关系。
了解更多信息&示例:Inheritance mapping