- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate 核 心 API (Core API for Hibernate) 杨少波 njtuyang@ 中科院计算所职业培训中心 Hibernate 核 心 API 在本讲您能了解如下知识点 (The Emphases in Teaching Materials) 持久实例的生命周期状态 Session接口 Transaction接口 SessionFactory接口 Configuration接口 应用中所需要的JAR类库 1、Hibernate中的持久化对象的生命周期 (1)提供对象状态管理的目的 使开发者不再需要理会底层数据库系统的细节 使用Hibernate的开发者应该总是关注对象的状态(state),不必考虑SQL语句的执行 (2)Hibernate 仅仅定义了三种状态:瞬时、持久和脱管,对客户端代码隐藏了其内部实现的复杂性 (3)三种状态相互转换的说明 2、核心API介绍--- Session接口 (1)它是轻量级的类 在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。 这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。 (2)但它是非线程安全的 值得注意的是Session对象是非线程安全的,因此最好是一个线程只创建一个Session对象(将它设计为局部对象)。 (3)Session看作介于数据连接与事务管理一种中间接口 我们可以将session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。 (4)每一个Session实例和一个数据库事务绑定 通常将每一个Session实例和一个数据库事务绑定,也就是说,每执行一个数据库事务(操作),都应该先创建一个新的Session实例。 如果事务执行中出现异常,应该撤销事务;同时不论事务执行成功与否,最后都应该调用Session的close()方法,从而释放Session实例占用的资源。 (5)如何获得Session对象 首先创建SessionFactory对象,应用程序如果访问多个数据源时,则应该产生多个SessionFactory;但是仅仅为了服务于某个请求时,不要创建一个新的SessionFactory,因为创建SessionFactory 需要耗费大量的资源。 然后根据SessionFactory再创建Session对象 (6)Session的编程规则---需要随时更新和释放 注意:应该要session.close()语句放在finally语句块中。 (7)Sessin 接口中针对单条记录的基本的CURD操作方法 save()方法:把Java对象保存数据库中 update()方法:更新数据库中的Java对象 delete()方法:把Java对象从数据库中删除 load()方法:从数据库中加载Java对象 find()方法:从数据库中查询Java对象 3、核心API介绍---Transaction接口 (1)Transaction接口是一个可选的API 事务将应用代码从下层的事务实现中抽象出来——这可能是一个JDBC事务,一个JTA用户事务等 这样将允许应用通过一组一致的API控制事务边界。 (2)定义 注意:该接口有多个不同的事务的实现类 (3)从本地事务切换到分布式事务的方法 因为让持久层具备可移植性是人们的理想。Hibernate提供了一套称为Transaction的封装API, 用来把部署环境中的本地事务管理系统转换到Hibernate事务上。 (4)为什么要提供该Transaction 接口—数据库类型和个数 Transaction接口是对实际事务实现的一个抽象。 之所以这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移值。 (5)事务编程的基本格式 (6)注意在事务编程中一定要进行事务提交 (1)利用工厂类SessionFactory中取得Session的实例 (2)SessionFactory并不是轻量级的 但要注意的是SessionFactory并不是轻量级的! 实际上它的设计者的意图是让它能在整个应用中共享。 (3)每个数据存储源对应创建一个SessionFactory(单例) 4、核心API介绍--- SessionFactory接口 (4)SessionFactory的实现类 SessionFactory的实现类中定义了许多集合类型的属性 它们用于存放Hibernate配置信息、映射元数据信息等。 (5)SessionFactory的缓存
您可能关注的文档
- 专题3胚胎工程专题课堂练习解析.ppt
- HashMap的数据结构讲诉.doc
- 专题4功能关系在力学中的应用解析.doc
- 专题3人类对太空的探索解析.ppt
- VDA6.3-2010-过程审核培训讲诉.ppt
- 专题7+化学能与热能(含解析)解析.doc
- VerilogHDL硬件描述-3讲诉.ppt
- 专题9金属材料解析.doc
- 专题8硅及其化合物解析.doc
- 专题·汉字2解析.ppt
- 2022年11月连江县直机关遴选公务员面试真题带答案详解.docx
- 2022年11月遵义市直遴选面试真题回忆版.docx
- 2022年2月伊春市税务系统遴选面试真题回忆版.docx
- 2022年11月朔州市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月秦皇岛市税务系统遴选面试真题回忆版汇总.docx
- 2022年2月焦作市直机关遴选公务员面试真题附详解.docx
- 2022年11月黑龙江省直机关遴选公务员面试真题附详细解析.docx
- 2022年2月潍坊市直机关遴选公务员面试真题附解析.docx
- 2022年2月大同市直遴选面试真题附详解.docx
- 2022年2月巴音郭楞蒙古自治州直机关遴选公务员面试真题带题目详解.docx
最近下载
- 微能WIN-9变频器说明书使用手册.pdf
- 支气管扩张临床路径.docx VIP
- 长方体、正方体表面积和体积专项练习50题(有答案)ok .pdf VIP
- 吉林省长春市东北师范大学附属中学净月实验学校2023-2024学年高一上学期期中质量监测数学试卷(解析).docx VIP
- 2025至2030年中国拉面粉行业投资前景及策略咨询研究报告.docx
- 人教版一二三年级生字表(全) .pdf VIP
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 高校学科建设的概念与内涵 .pdf VIP
- T∕ZZB 1299-2019 电动剃须刀用提拉须圆刀.docx VIP
- 鲁教版五四制六年级数学下册第七章达标检测卷附答案 .pdf VIP
文档评论(0)