常用有三种
1、单表映射: 每棵继承树映射成一张表(使用较多,性能较好),关键在于使用鉴别器<discriminator column="xx" type="">,
每个子类对应有一个鉴别器值
2、具体表映射: 每个子类映射成一张表(结构清晰,但性能较低),这是继承关系表示为外键关联,父类一张表,
各个子类各有一张表,父类和子类映射自身属性,子类表中不会含有父类属性的字段,hibernate查询时使用连接查询
3、类表继承: 每个具体类映射成一张表,每个子类对应一张表,父类和子类各自映射自身属性,但子类表中有父类表的字段,
父类表是不做数据存储的,可以使用abstract="true",阻止父类表生成,hibernate查询时使用联合查询
不常用的两种
4、隐式多态映射,不必多父类映射进行任何操作,直接在子类映射父类的属性,对父类查询是必须发出多条sql,
数量与子类数量一样,这种映射不支持多态关联
5、混合继承,即多种继承映射策略混合使用