hibernate中实体继承策略的用例是什么?

时间:2016-06-30 18:48:18

标签: hibernate jpa inheritance orm

我非常了解继承策略,如:

1.每个层次结构

2.每个混凝土类的表

3.每个子类的表

所以他们都是继承策略,所以我们应该选择什么基础?

1 个答案:

答案 0 :(得分:0)

Hibernate继承

为了在hibernate中实现继承,Hibernate为我们提供了3种不同类型的策略。

  

每个类的表的Hibernate继承

     

每个具体类的表的Hibernate继承

     

每个子类的表的Hibernate继承

要将继承类映射到数据库表,我们可以使用上述任何一种策略。没有哪个是最佳策略的概念,根据我们的应用要求,我们可以选择上述之一。

每个类的表的Hibernate继承:

如果我们想将所有类层次结构的数据保存到单个数据库表中,我们可以选择此策略。对于每个类策略的这个表以及对象细节,hibernate将插入一个名为discriminator的特殊值,以便在表中轻松识别pojo类对象。

每个具体类的表的Hibernate继承:

当需要将每个具体的继承对象存储在单独的数据库表中时,选择此hibernate继承策略。对于这种策略,鉴别器是可选的。

每个子类的表的Hibernate继承:

如果我们想要将超类及其子类映射到自己的数据库表,我们可以选择这种hibernate继承策略。子类表有一个主键,它也是一个外键来获取与超类表的关系。

了解更多信息&示例:Inheritance mapping