下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 Hibernate 关联映射预习检查什么是单向多对一关联和双向一对多关联?如何配置级联操作?简述inverse属性的作用什么是延迟加载?集中测试2/33回顾与作业点评列举为命名参数赋值的几种方法在HQL中如何获取唯一结果?在HQL中如何实现分页?什么是投影查询?结果有几种封装形式?点评作业的提交情况和共性问题提问作业点评3/33本章任务实现级联添加删除功能实现查询街道时获取区县使用Open Session In View模式,在页面输出区县时输出街道4/33本章目标理解Hibernate的关联映射理解inverse属性、cascade属性掌握单向的多对一、双向的一对多映射掌握多对多映射
2、掌握延迟加载5/33关联关系类与类之间最普遍的关系就是关联关系单向的关联双向的关联6/33配置 Emp 到 Dept 的多对一关联Emp 持久化类Emp.hbm.xml关联关系下的持久化操作public class Emp implements Serializable private Dept dept;/ 省略其他属性及getter、setter访问器.多对一关联关系演示示例1:单向多对一映射7/33学员操作配置多对一单向关联需求说明在租房系统中,配置街道到区县单向多对一关联,并完成以下持久化操作添加街道,设置该街道属于某区县修改街道,把该街道调到某区县删除某街道完成时间:15分钟练习8/
3、33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 9/33配置 Dept 到 Emp 的一对多关联Dept 持久化类Dept.hbm.xml . public class Dept implements Serializable private Set emps = new HashSet();/ 省略其他属性及getter、setter访问器一对多关联关系10/33cascade属性2-1如何实现添加Dept时级联添加相关的Emp?建立从Dept到Emp的一对多关联在标签中配置cascade属性问题分析11/33cascade属性2-2cascade属性值 描 述n
4、one当Session操纵当前对象时,忽略其他关联的对象。它是cascade属性的默认值save-update当通过Session的save()、update()及saveOrUpdate()方法来保存或更新当前对象时,级联保存所有关联的新建的瞬时状态的对象,并且级联更新所有关联的游离状态的对象merge当通过Session的merge()方法来保存或更新当前对象时,对其关联对象也执行merge()方法delete当通过Session的delete()方法删除当前对象时,会级联删除所有关联的对象all包含所有的级联行为演示示例2:级联添加删除12/33元素的inverse属性inverse属性
5、指定了关联关系中的方向inverse设置为false,则为主动方,由主动方负责维护关联关系,默认是false inverse设置为true,不负责维护关联关系演示示例3:inverse属性的作用1. 在建立两个对象的双向关联时,应该同时修改两个关联对象的相关属性2. 建议inverse设置为true!经验13/33提问小结如何配置单向多对一关联?cascade属性的作用是什么?inverse属性的作用是什么?14/33学员操作配置一对多双向关联需求说明 配置区县到街道的双向一对多关联添加区县的同时添加该区县下的两个街道设置区县的inverse属性值为true,修改某区县,从该区县中移走某一街道
6、完成时间:20分钟练习15/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 16/33多对多关联关系配置Project和Employee的双向多对多关联Project、Employee持久化类Project.hbm.xml、Employee.hbm.xmlpublic class Project implements java.io.Serializable private Integer proid; private String proname; private Set employees = new HashSet(0);public class Employ
7、ee implements java.io.Serializable private Integer empid; private String empname; private Set projects = new HashSet(0); . . 演示示例4:建立Project和Employee对象的关联17/33小结请按照多对多关联,写出Project和Employee的映射文件请按照一对多关联,写出Project和Employee的映射文件现场编程18/33 学员操作配置多对多关联需求说明创建项目和员工表,配置项目与员工的多对多关系添加项目的同时添加员工把某员工加入到另一项目组项目结项时
8、,把员工从该项目中移走完成时间:20分钟练习19/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 20/33使用MyEclipse反向工程工具如何使用MyEclipse反向工程工具生成关联关系映射?问题演示:使用MyEclipse反向工程工具21/33延迟加载延迟加载(lazy load懒加载)是在真正需要数据时才执行SQL语句进行查询,避免了无谓的性能开销延迟加载策略的设置分为类级别的查询策略一对多和多对多关联的查询策略多对一关联的查询策略22/33lazy属性2-1lazy属性值 加载策略true(默认)延迟加载false立即加载一对多和多对多关联的查询策略la
9、zy属性值 加载策略true(默认)延迟加载false立即加载extra增强延迟加载23/33lazy属性2-2多对一关联的查询策略lazy属性值 加载策略proxy(默认)延迟加载no-proxy无代理延迟加载false立即加载演示示例5:加载策略24/33FilterOpen Session In View模式在用户的每一次请求过程始终保持一个Session对象打开着WEBDAOBIZDB提交或回滚事务关闭Session获取Session开启事务请求:响应:演示示例6:Open Session In View25/33提问小结不同级别的lazy属性设置分别有哪些?Open Session
10、In View模式解决了什么问题?26/33学员操作延迟加载需求说明查询区县及其下的所有街道查询街道及其所属的区县使用Open Session In View模式管理Session,在页面显示区县及其所有街道完成时间:25分钟练习27/33共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 28/33总结2-1以面向对象方式实现对象间访问和操作,减少域模型与关系模型之间的转换工作关联是有方向的一对多关系多对多关系cascade属性关联映射或拆解为两个一对多设置级联操作常用值none(默认)save-updatemergedeleteall29/33总结2-2inverse属
11、性延迟加载false(默认):主动维护关联关系true:仅作为另一方关联的镜像关联映射指定关联关系中的方向关联关系下的操作建议双向调整设置inverse=true不用不查,减少内存开销Hibernate 3.x以上版本默认开启设置Open Session In View模式classsetmany-to-onetrue / fasleget()总是立即加载load()参考配置truefalseextra 调用集合的size()、contains()、isEmpty()等方法不会初始化集合proxyno-proxyfalse解决延迟加载导致的初始化问题请求过程中保持会话始终开启Web应用下使用Filter实现30/33相关学习资源 学习平台 学生用书基于SSH框架的企业级应用开发“基于SSH框架的企业级应用开发”课程31/33作业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物标志物与药物不良反应预测模型
- 生物墨水的生物安全性评价方法
- 生活质量评估在再程放疗方案选择中的作用
- 电子商务专家认证考试内容解析
- 产品经理面试题及产品思维训练
- 深度解析(2026)《GBT 19496-2004钻芯检测离心高强混凝土抗压强度试验方法》
- 保洁绿化领班工作创新与问题解决方法含答案
- 电子工程师技术支持岗位的常见问题与答案
- 信息录入员岗位面试题及答案
- 环境噪声污染的统计心血管效应与结果防护策略
- 2025年广西继续教育公需科目考试试题和答案
- 俄乌之战课件
- 2026年铁岭卫生职业学院单招职业倾向性考试题库及参考答案详解一套
- 2025年厨房燃气报警器安装合同
- 环孢素的临床应用
- 国开电大《11837行政法与行政诉讼法》期末答题库(机考字纸考)排序版 - 稻壳阅读器2025年12月13日12时58分54秒
- 2025河北廊坊市工会社会工作公开招聘岗位服务人员19名考试笔试备考试题及答案解析
- 2025国家电投集团中国重燃招聘18人笔试历年参考题库附带答案详解
- 框架日常维修协议书
- 智研咨询发布-2025年中国电子变压器件行业市场运行态势及发展趋势预测报告
- 创伤后成长(PTG)视角下叙事护理技术的临床应用
评论
0/150
提交评论