Hibernate继承映射详解

2014-11-24 12:51:43 · 作者: · 浏览: 2

在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3中方案:


第一种方案:一个子类对应一张表。


第二种方案:使用一张表表示所有继承体系下的类的属性的并集。


第三种方案:每个子类使用一张表只存储它特有的属性,然后与父类所对应的表以一对一主键关联的方式关联起来。


现在假设有People、Student、Teacher三个类,父类为People,Student与Teacher为People的父类,代码如下:


People类:


Student类:


Teacher类: