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 刘铮 阅读(131) 评论(0)  编辑  收藏


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


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

留言簿(1)

文章分类(141)

文章档案(147)

搜索

最新评论