第13章 Hibernate的事务处理、缓存及性能优化ppt课件.ppt
《第13章 Hibernate的事务处理、缓存及性能优化ppt课件.ppt》由会员分享,可在线阅读,更多相关《第13章 Hibernate的事务处理、缓存及性能优化ppt课件.ppt(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第13章章 Hibernate的事务处理、缓存及的事务处理、缓存及性能优化性能优化第十三章第十三章Hibernate的事务处理、缓存的事务处理、缓存及性能优化及性能优化事务处理事务处理 n什么是事务什么是事务v所谓事务,是指这样一个操作序列,这些操作要么都执行,要么都所谓事务,是指这样一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。不执行,是一个不可分割的工作单位。v事务是数据库维护数据一致性的单位,在每个事务结束时,都能保事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。持数据一致性。 事务处理事务处理 n事务具有以下基本特征:事务具有以下基
2、本特征:vAtomic(原子性):事务中包含的操作被看作一个逻辑单元,这个(原子性):事务中包含的操作被看作一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败;逻辑单元中的操作要么全部成功,要么全部失败;vIsolation(隔离性):事务允许多个用户对同一个数据进行并发访(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立;与其他并行事务的修改相互独立;vDurability(持久性):事务结束后,事务处理的结果必须能够得(持久性):事务结束
3、后,事务处理的结果必须能够得到固化;到固化;vConsistency(一致性):只有合法的数据可以被写入数据库,否(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。则事务应该将其回滚到最初状态。Hibernate中的事务处理中的事务处理 nHibernate事务的本质事务的本质vHibernate是是JDBC的轻量级封装,本身并不具备事务管的轻量级封装,本身并不具备事务管理能力。在事务管理层,理能力。在事务管理层,Hibernate将其委托给底层的将其委托给底层的JDBC或者或者JTA,以实现事务管理和调度功能。,以实现事务管理和调度功能。Hibernate的默认事务
4、处理机制基于的默认事务处理机制基于JDBC TransactionHibernate中的事务处理中的事务处理 nHibernate处理事务的流程处理事务的流程 v对于使用对于使用Hibernate实现持久化功能的系统来说,事务的实现持久化功能的系统来说,事务的处理是这样的:处理是这样的:服务器端在接收到用户的请求后,会创建一个新的服务器端在接收到用户的请求后,会创建一个新的Hibernate Session对对象对对象然后通过该然后通过该Session对象开始一个新的事务并且之后所有对数据对象开始一个新的事务并且之后所有对数据库的操作都通过该库的操作都通过该Session对象来进行对象来进行最
5、后,完成将响应页面发送到客户端的工作后再提交事务并且关最后,完成将响应页面发送到客户端的工作后再提交事务并且关闭闭Session Hibernate一级缓存nHibernate一级缓存的生命周期一级缓存的生命周期vHibernate的一级缓存是由的一级缓存是由Session提供的,因此它只存提供的,因此它只存在于在于Session的生命周期中,也就是当的生命周期中,也就是当Session关闭的时关闭的时候该候该Session所管理的一级缓存也会立即被清除。所管理的一级缓存也会立即被清除。Hibernate的一级缓存是的一级缓存是Session所内置的,不能被卸载所内置的,不能被卸载,也不能进行
6、任何配置。,也不能进行任何配置。 Hibernate一级缓存nHibernate一级缓存的实现一级缓存的实现v一级缓存采用的是一级缓存采用的是key-value的的Map方式来实现的,在缓方式来实现的,在缓存实体对象时,对象的主关键字存实体对象时,对象的主关键字ID是是Map的的key,实体对,实体对象就是对应的值。所以说,一级缓存是以实体对象为单象就是对应的值。所以说,一级缓存是以实体对象为单位进行存储的,在访问的时候使用的是主关键字位进行存储的,在访问的时候使用的是主关键字ID。二级缓存二级缓存 nSessionFactory的内置缓存和外置缓存的内置缓存和外置缓存 SessionFact
7、ory的内置缓存中存放了映射元数据和预定义的内置缓存中存放了映射元数据和预定义SQL语句,语句,映射元数据是映射文件中数据的副本,而预定义映射元数据是映射文件中数据的副本,而预定义SQL语句是在语句是在Hibernate初始化阶段根据映射元数据推导出来的。初始化阶段根据映射元数据推导出来的。SessionFactory的的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此语句,因此SessionFactory不需要进行内置缓存与映射文件的同不需要进行内置缓存与映射文件的同步;步; SessionFactory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第13章 Hibernate的事务处理、缓存及性能优化ppt课件 13 Hibernate 事务处理 缓存 性能 优化 ppt 课件
限制150内