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)  编辑  收藏


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


网站导航:
 
<2025年1月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

留言簿(1)

文章分类(141)

文章档案(147)

搜索

最新评论