Hibernate中对事务的学习心得

Hibernate中对事务的管理是默认交给JDBC来管理的。,
所以当执行以下代码的时候:
session=sessionFactory.openSession()
Transaction tx=session.beginTransaction()
    ....
    tx.commit()
就等于:

Connection dbcon=getConnection()
dbcon.setAutoCommit(False)

dbcon.commit()
所以hibernate并没有做更多的事,只是将jdbc进行了封装。
所以我们从sessionFactory.openSession()的时候,autocommit就已经设置为了false
所以无论怎么执行save方法,只要不commit,或flush 就不会对数据库产生影响。


数据库加锁,一般使用LockMode.UPGRADE,保证在统计(查询)执行过程中,记录不被其他用户更新

posted on 2007-09-14 10:48 刘铮 阅读(122) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

留言簿(1)

文章分类(141)

文章档案(147)

搜索

最新评论