Hibernate继承映射三:每个具体类一张表
每个具体类一张表
我们看看这种配置需要怎么做?
?
?
注意文件中使用了,union-subclass,并且没有了key属性.
而且Animal的主键生成策略变成了assigned.
所以跟着我们的测试文件的save数据方法也要变.
测试类:
?
?
我们看看创建的表格:
?
mysql> desc t_bird;+--------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+--------------+------+-----+---------+-------+| id | int(11) | NO | PRI | | || name | varchar(255) | YES | | NULL | || sex | bit(1) | YES | | NULL | || height | int(11) | YES | | NULL | |+--------+--------------+------+-----+---------+-------+4 rows in set (0.03 sec)mysql> desc t_pig;+--------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+--------------+------+-----+---------+-------+| id | int(11) | NO | PRI | | || name | varchar(255) | YES | | NULL | || sex | bit(1) | YES | | NULL | || weight | int(11) | YES | | NULL | |+--------+--------------+------+-----+---------+-------+?你会发现因为父类为抽象类,所以并没有生成t_animal表,而子类中有了所有属性,生成的表中也有了所有的字段.这与前面二种策略是不同的.