23_Hibernate对象关系映射_一对多

23_Hibernate对象关系映射_一对多

ID:44226254

大小:289.50 KB

页数:15页

时间:2019-10-19

23_Hibernate对象关系映射_一对多_第1页
23_Hibernate对象关系映射_一对多_第2页
23_Hibernate对象关系映射_一对多_第3页
23_Hibernate对象关系映射_一对多_第4页
23_Hibernate对象关系映射_一对多_第5页
资源描述:

《23_Hibernate对象关系映射_一对多》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Hibernate对象关系映射_一对多回顾Hibernate对象之间的关联关系理解关联关系关联关系类型1(一对一)关联关系类型2(一对多)关联关系类型3(多对多)一对一的外键关联以及主键关联一对一的外键关联一对一主键关联本章目标一对多/多对一的关联操作理解一对多/多对一配置映射关系关联操作多对多的关联操作理解多对多配置映射关系关联操作理解一对多/多对一一对多关联/多对一关联   一对多和多对一关联分为单向关联和双向关联,在此,着重介绍双向关联。假设有两个实体,客户对象(Customer)和订单对象(O

2、rder),一个客户可以有多个订单,表现为一对多的关系,一个订单只能属于一个客户,表现为多对一的关系。下面是Customer和Order所对应的映射文件:配置映射关系●Customer.hbm.xml:

3、配置映射关

4、系元素包括以下属性:name:设定待映射的持久化类的属性名,这里为Customer类的Orders属性;lazy:是否采用延迟加载。inverse:用于标识双向关联中的被动方一端,inverse=false的一方(主控方)负责维护关联关系,默认值为false。cascade操作级联(cascade)关系,可选值为all:所有情况下均进行级联操作;none:所有情况下均不进行级联操作;save-update:在执行save-update时进行级联操作.元素还包含两个子元素:

5、和,其中元素设定与所关联的持久化类对应的表的外键,此处为order表的customer_id字段;元素设定所关联的持久化类,此处为Order类。配置映射关系●Order.hbm.xml:

6、"uuid.hex"/>配置

7、映射关系many-to-one节点column子节点有以下属性:column属性总是和关联类的主键id相对应(对于Order来说,关联类是Customer),因此Hibernate会根据order表中的customer_id以及customer表中设置的id列,取出order.customer_id=customer.id的记录,构造成Customer对象返回给Order类。实例操作publicvoidsave(){Sessionsession=null;Transactiontx=null;try{

8、session=HibernateSessionFactory.getSession();tx=session.beginTransaction();Customercustomer=newCustomer(“admin");Setorders=customer.getOrders();for(inti=0;i<3;i++){Orderorder=newOrder();order.setOrderName(“myorder”+i);orde

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。