欢迎来到天天文库
浏览记录
ID:43184968
大小:40.50 KB
页数:12页
时间:2019-10-01
《7 Hibernate事务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate事务JDBC事务回顾JTA事务简介Hibernate事务数据锁Hibernate中实现分布式事务(选学)JDBC事务回顾事务的属性原子性一致性隔离性持久性JDBC事务回顾JDBC中事务代码conn.setAutoCommit(false);…conn.commit();Conn.close();JTA事务简介JTA–JavaTransactionAPI,是事务服务的JavaEE解决方案。他使用UserTransaction等接口。JTA事务简介JTA代码样例:UserTransactionut=newInitialContext().lookup(“j
2、avax.transaction.UserTransaction”);ut.begin();…ut.commit();Hibernate事务代码样例:Sessionsession1=sessionFaction.openSession();Transactiont1=session1.beginTransaction();…t1.commit();session1.close();数据锁(选学)悲观锁乐观锁数据锁悲观锁认为每次存取数据时,其他客户端也会存取同一笔数据。因此悲观锁会在自己存取数据前将数据锁定,知道自己操作完成后才把锁解开。而数据被锁定的时候,其他客户端不能
3、操作该批数据。数据锁悲观锁的设置方式Query的setLockMode()方法:LockMode.UPGRADE–利用DB的forupdate子句加锁。LockMode.UPDGRADE_NOWAIT-利用DB的forupdatenowait子句加锁。Session的lock()方法:LockMode.NONE–无锁机制。LockMode.READ–在读取记录时获取。LockMode.WRITE–内部模式,程序中不能使用。数据锁乐观锁认为每次存取数据时,很少发生其他客户端也会存取同一笔数据的情况。因此乐观锁不作数据库层次上的锁定。数据锁乐观锁实现方案版本检查时间戳数据锁
4、乐观锁操作配置POJO的映射XML文件的optimistic-lock项。optimistic-lock项的选项:none:无锁方案。version:版本检查。dirty:检查发生变动过的属性。all:检查所有属性。
此文档下载收益归作者所有