- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate04.hibernate实体映射
Hibernate 程基础
映射基础
教学目标
教学内容
– Session的缓存的作用
– Session清理缓存的时间点
– 对象的临时状态、持久化状态和游离状态
– 用Session的update()方法使游离对象转变为持久化对象
在Hibernate应用中Java对象的状态
瞬时状态(transient):刚刚用new语句创建,还没
有被持久化,不处于Session的缓存中。处于临时状
态的Java对象被称为临时对象。
持久化状态(persistent ):已经被持久化,加入到
Session的缓存中。处于持久化状态的Java对象被称
为持久化对象。
游离状态(托管) (detached ):已经被持久化,但不
再处于Session的缓存中。处于游离状态的Java对象
被称为游离对象。
Hibernate对象的状态图
瞬时态对象:ID没有值,和数据库中的数据没有任何关系
在以下情况瞬时转换为持久态:
save saveOrUpdate 或者从数据库中load get find
当delete时从持久态变成瞬时态
当执行close clear evict持久变成游离态
Customer对象的状态转换过程
用Session的update()方法关联游离对象
Customer customer=new Customer();
customer.setName(Tom);
Session session1=sessionFactory.openSession();
Transaction tx 1 = session1.beginTransaction();
session1.save(customer);
tx 1.commit();
session1.close(); //此时Customer对象变为游离对象
Session session2=sessionFactory.openSession();
Transaction tx2 = session2.beginTransaction();
customer.setName(Linda) //在和session2关联之前修改Customer对
象的属性
session2.update(customer);
customer.setName(Jack); //在和session2关联之后修改Customer对
象的属性
mit();
session2.close();
Session的update()方法
Session的update()方法完成以下操作:
– (1)把Customer对象重新加入到Session缓存中,使
变为持久化对象。
– (2 )计划执行一个update语句。值得注意的是,
Session只有在清理缓存的时候才会执行update语句,
并且在执行时才会把Customer对象当前的属性值组装
到update语句中。因此,即使程序中多次修改了
Customer对象的属性,在清理缓存时只会执行一次
update语句。
客户层与业务逻辑层之间传递临时对象和游离对象的
过程
理解Session的缓存
当Session 的save()方法持久化一个Customer对象时,Customer对象
被加入到Session 的缓存中,以后即使应用程序中的引用变量不再引
用Customer对象,只要Session的缓存还没有被清空,Customer对
象仍然处于生命周期中。
当Session 的load()方法试图从数据库中加载一个Customer对象时,
Session先判断缓存中是否已经存在这个Customer对象,如果存在,
就不需要再到数据库中检索。
理解Session的缓存
tx = session.beginTransaction();
Customer c1=new Customer(Tom,new HashSet());
//Customer对象被持久化,并且加入到Session的缓存中
session.save(c1);
Long id=c1.getId();
//c1变量不再引用Customer对象
c1=null;
/
您可能关注的文档
- GPS(产品几何技术规范基本知识培训讲义).pdf
- Grand Amanda第一航次应对大风量的预案和措施.pdf
- Grand MA电脑控台说明书.pdf
- Grass_Valley_T2快速入门_v2.1.pdf
- GPT-98030耐压仪说明书.pdf
- GB_4789.4沙门氏菌检验.pdf
- Graylog安装配置手册v1.0.pdf
- GRE_Source finder350卡片式.pdf
- GRRU产品交流(PPT).pdf
- GSAs中文版教程.pdf
- 专卖店促销员销售与成交技巧培训课件(34P).pptx
- 红色商务风新员工入职销售技巧知识培训课件(34P).pptx
- 专卖店商场销售员销售与成交技巧培训课件(34P).pptx
- 小区物业保安法律知识培训课件(28P).pptx
- 专卖店销售员轻松成交技巧培训(34P).pptx
- 轻松成交客户新员工入职通用销售技巧知识培训(34P).pptx
- 2024年初级《银行业法律法规与综合能力》考前必刷必练题库500题(含真题、必会题).docx
- 2024年“新安法知多少”知识竞赛题库及答案(最新版).docx
- 2024年30秒毕业生面试工作自我介绍.docx
- 2024年《医务人员礼仪培训》心得体会.docx
最近下载
- 2024年江苏省高考数学试卷(含答案解析).docx
- 异步电机m-s曲线测绘实验报告(共9篇).docx
- 动漫IP授权与衍生品策划.pptx VIP
- ABB 传动变频器ACS880-01传动模块硬件手册 安装及使用手册.pdf
- 部编版三年级语文下册第八单元习作《这样想象真有趣》精品课件.pptx VIP
- 父亲的草原母亲的河正谱 PDF高清版.pdf
- 2021年天津市专技人员继续教育公需课答案科学谋划“十四五”经济社会发展的宏伟蓝图.pdf VIP
- 《排球专修》教学大纲(含课程思政元素) .docx
- 重庆鈊渝金融租赁股份有限公司2019年招聘模拟试题及答案解析.docx
- 《基础护理学》-病人清洁的护理教案设计.docx VIP
文档评论(0)