- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 Hibernate性能优化 10.1 事务处理 10.2 并发控制 10.3 缓存机制 10.1 事务处理 事务的概念 JDBC事务处理 JTA事务处理 10.1.1 事务处理—事务的概念 事务(Transaction)是访问数据库时,可能更新数据库中各种数据项的一个程序执行单元,用来确保数据的完整性,避免数据库中的数据在不正确的操作下引起的错误更改。 事务的4个特性: 原子性。指事务执行单元是一个不可分割的单元,这些单元要么都执行,要么都不执行。 一致性。指无论执行了什么操作,都应保证数据的完整性和业务逻辑的一致性。 隔离性。在事务执行过程中,多个执行单元间操作的数据都是其他单元没有操作或者操作结束后的数据,保证每一个执行单元操作的数据都有完整的数据空间。 持久性。事务结束后,执行单元操纵的数据被保存在数据库中,这些数据的保存状态是永久性的,不会因为系统故障而消失。 10.1.2 事务处理—JDBC事务处理(1) Hibernate框架中支持两种事务处理方式:JDBC 事务处理和JTA(Java Transaction API)事务处理,这两种事务处理方式默认情况下都是关闭的 ,可以通过配置开启事务管理。如果不进行配置那么会默认使用JDBC事务。 JDBC事务应用: 1.声明JDBC事务管理,配置方式: hibernate.cfg.xml中的配置方式 property name=hibernate.transcation.factory_class net.sf.hibernate.transcation.JDBCTranscationFactory /property 10.1.2 事务处理—JDBC事务处理(2) perties的配置方式 hibernate.transcation.factory_class= net.sf.hibernate.transcation.JDBCTranscationFactory 2.编程过程中应用JDBC事务管理流程: 实例化Configure类读取配置文件或者属性文件。 获得SessionFactory实例。 获得Session实例。 通过session.beginTransaction()获得事务Transaction对象。 开始事务:进行数据操作。 提交事务:数据处理结束后提交事务。 回滚事务:如果数据处理出现异常那么回滚事务,恢复原始数据。 结束事务:通过session.close结束事务。 10.1.2 事务处理—JDBC事务处理(3) 3. 应用JDBC事务管理实例: Configuration config=new Configuration(); //实例化Configure类 …… //省略业务代码 sessionFactory=config.buildSessionFactory(); //建立Session工厂 Session session=sessionFactory.openSession(); //开启会话 Transaction tx=null; //定义事务处理对象 try{ tx=session.beginTransaction(); //开始事务 tx.begin(); …… //省略数据处理代码 mit(); //提交事务 }catch(Exception e){ e.printStackTrace(); tx.rollback(); //回滚事务 }finally{ session.close(); //关闭Session } 10.1.3 事务处理—JTA事务处理(1) JTA(Java Transaction API)是J2EE事务服务的标准解决方式,通过容器来控制事务。主要应用在多数据库操作的分布式系统中。 JTA事务应用: 1.声明JTA事务管理,配置方式: hibernate.cfg.xml中的配置方式 property name=hibernate.transcation.factory_class net.sf.hibernate.transcation.JTATranscationFactory /property perties的配置方式 hibernate.transcation.factory_class= net.sf.hibernate.transcation.JTATranscationFactory 10.1.3 事务处理—JTA事务处理(2) 2.编程过程中应用JTA事务管理流程: 创建JTA事务对象。 开始事务。 获得Sessi
文档评论(0)