hibernate事务处理和锁1

上传人:s9****2 文档编号:458019961 上传时间:2023-03-16 格式:DOCX 页数:2 大小:8.30KB
返回 下载 相关 举报
hibernate事务处理和锁1_第1页
第1页 / 共2页
hibernate事务处理和锁1_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《hibernate事务处理和锁1》由会员分享,可在线阅读,更多相关《hibernate事务处理和锁1(2页珍藏版)》请在金锄头文库上搜索。

1、hibernate事务处理和锁事务处理:Hibernate本身并不具备事务管理能力。在事务管理层,Hibernate将其委托给底层 的JDBC或者JTA,以实现事务的管理与调度。基于JDBC的事务:无疑是最简单的实现方式,session = sessionFactory.openSession();Transaction tx = session.beginTransaction();mit();基于JTA的事务管理:hibernate默认采用JDBC Transacion。可以通过配置文件指定采用JTA作为事务管 理实现。org.hibernate.transaction.JTATransa

2、ctionFactory锁(locking)支持两种锁:悲观锁和乐观锁悲观锁(Pessimistic locking):数据库的实现select * from account where name=yyy for update通过for update子句,这条语句锁定所有符合条件的记录,在本次事务提交之前,外 界无法修改这些记录。hibernate的实现,也是基于数据库的锁机制实现:加锁一般通过以下方法实现:Criteria.setLockModeQuery.setLockModeSession.lockhibernate的加锁模式:LockMode.NONE:无锁机制LockMode.WRI

3、TE:hibernate 在 Insert 和 update 时,会自动获取LockMode.READ:hibernate在读取记录的时候,会自动获取以上3种,由hibernate内部使用。LockMode.UPGRADE:利用数据库的for update子句加锁LockMode.UPGRADE_NOWAIT: oracle 特定实现,利用 oracle 的 for update nowait子句实现加锁。乐观锁(Optimistic locking):hibernate在其数据访问引擎中内置了乐观锁实现。可以通过class描述符的optimistic-lock属性结合version描述符指定。注意,version节点要在ID节点之后。数据库中version必须有初始值,否则会报错。这里,声明了一个version属性,用于存放用户的版本信息,保存在T_User表的 version字段中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号