赛迪网 > IT技术 Java > Java读书频道-上
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Hibernate之映射继承关系(四) (3)

发布时间:2005.09.19 17:26     来源:赛迪网    作者:孙卫琴

在Employee.hbm.xml文件中,两个元素用于映射HourlyEmployee类和SalariedEmployee类,元素的子元素指定HE表和SE表中既作为主键又作为外键的EMPLOYEE_ID字段。

由于HourlyEmployee类和SalariedEmployee类没有单独的映射文件,因此在初始化Hibernate时,只需向Configuration对象中加入Company类和Employee类:

Configuration config = new Configuration();
config.addClass(Company.class)
.addClass(Employee.class);

也可以在单独的映射文件中配置元素,但此时必须显式设定它们的extends属性。例如可以在单独的HourlyEmployee.hbm.xml文件中映射HourlyEmployee类:

<hibernate-mapping >
<joined-subclass 
name="mypack.HourlyEmployee"
table="HOURLY_EMPLOYEES" 
extends="mypack.Employee" >
……	
</joined-class>
<hibernate-mapping >

由于HourlyEmployee类的映射代码不位于Employee.hbm.xml文件中,因此在初始化Hibernate时,不仅需要向Configuration对象中加入Company类和Employee类,还需要加入HourlyEmployee类,并且必须先加入Employee父类,再加入HourlyEmployee子类:

Configuration config = new Configuration();
config.addClass(Company.class)
.addClass(Employee.class)
.addClass(HourlyEmployee.class);

如果颠倒加入Employee类和HourlyEmployee子类的顺序,Hibernate在执行addClass()方法时会抛出HibernateMappingException。

<<上一页 1 2 3 4 5 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 弹指十年 Java创始人称Java时代刚刚开始 (09-19) · 播种菜园之一 Java几个常见错误简析 (09-16)
· Java和JSP编程中应该注意的几个常见问题 (09-16) · 仔细触摸Java编程中的“文档”和“包” (09-16)
· Java初学者入门——IO包的学习引导文章 (09-16) · Java初学者入门需掌握的30个基本概念 (09-16)
· 常见的十四种Java开发工具及其特点 (09-16) · 精通Hibernate之映射继承关系(二) (09-15)
· Hibernate之映射继承关系(三) (09-15) · Java网络编程之URI、URL的详细介绍(下) (09-15)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· IT治理撞入“死胡同”的七大诱因 应如何避开
· 互联网零售业酝酿新物种 零售基因信息化变异
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统