Hibernate事务管理

事务只是一个工作单位(单元)。 在这种情况下,如果一个步骤失败,则整个事务失败(称为原子性)。 ACID属性(原子性,一致性,隔离性和持久性)可以描述事务。

Hibernate中的事务接口

在hibernate框架中,我们有Transaction接口来定义工作单元。 它维护了事务实现(JTA,JDBC)的抽象。

事务与Session相关联,并通过调用session.beginTransaction()实例化。

Transaction接口的方法如下:

  1. void begin() 开始一个新的事务。
  2. void commit() 结束工作单位,在FlushMode.NEVER中除外。
  3. void rollback() 强制此事务回滚。
  4. void setTimeout(int seconds) 它为由此实例开始的后续调用启动的任何事务设置事务超时。
  5. boolean isAlive() 检查交易是否仍然存在。
  6. void registerSynchronization(Synchronization s) 为此事务注册用户同步回调。
  7. boolean wasCommited() 检查事务是否成功提交。
  8. boolean wasRolledBack() 检查事务是否成功回滚。

Hibernate中的事务管理示例

在hibernate中,如果发生任何异常,最好回滚事务,以便资源可以释放自由。 我们来看看hibernate中事务管理的例子。

Session session = null;  
Transaction tx = null;  

try {  
    session = sessionFactory.openSession();  
    tx = session.beginTransaction();  
    //some action  

    tx.commit();  

}catch (Exception ex) {  
    ex.printStackTrace();  
    tx.rollback();  
}  
finally {session.close();}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值