hibernate annoation (七 继承映射) - 编程入门网
hibernate annoation (七 继承映射)时间:2009-10-10 javaeye ericjoeTable per Class Strategy: the <union-class> element in Hibernate Single Table per Class Hierarchy Strategy: the <subclass> element in Hibernate Joined Subclass Strategy: the <joined-subclass> element in Hibernate ejb支持三种映射关系 1,每个类一张表 (hibertnate里对应<union-class>) 2,每个类层次一张表 (在 hibernate里对应<subclass>) 3,连接的子类(对应join-subclass) 目前不支持在接口上进行注解 (1)每个类一张表: 在父类class-level上设置:@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) 例如: Java代码
hibernate annoation (七 继承映射)(2)时间:2009-10-10 javaeye ericjoe最终生成sql语句: Java代码
B 和 C 都继承了A但是没有关联 (2)每个类层次一张表:也就是所有继承的类和父类共享一张表 通过一个辨别符号进行区分 这需要在父类上使用:@Inheritance(strategy=InheritanceType.SINGLE_TABLE) 这样的话在表里面会多出一个字段:DTYPE(默认 默认值为entry.class) 可以通过在父类class-level上设置 @DiscriminatorColumn(name="mytype",discriminatorType=DiscriminatorType.STRING) 在之类上使用 例如: @Entity @DiscriminatorValue(value="ctype") 插入数据时候将会有下列语句产生:Hibernate: insert into A (aname, cname, mytype) values (?, ?, ''ctype''); (3)每个字类一张表:也就是字类的关联到父类的主键 通过在父类上使用:@Inheritance(strategy=InheritanceType.JOINED) 产生语句:默认id关联 Java代码
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |