Hibernate 事务配置

对Key属性决定代理将为方法提供什么样的事务行为。这个属性的最重要部分就是事务传播行为。下面是一些可选的属性值

  1. PROPAGATION_REQUIRED --支持当前的事务,如果不存在就创建一个新的。这是最常用的选择。
  2. PROPAGATION_SUPPORTS --支持当前的事务,如果不存在就不使用事务。
  3. PROPAGATION_MANDATORY --支持当前的事务,如果不存在就抛出异常。
  4. PROPAGATION_REQUIRES_NEW --创建一个新的事务,并暂停当前的事务(如果存在)。
  5. PROPAGATION_NOT_SUPPORTED --不使用事务,并暂停当前的事务(如果存在)。
  6. PROPAGATION_NEVER --不使用事务,如果当前存在事务就抛出异常。
  7. PROPAGATION_NESTED --如果当前存在事务就作为嵌入事务执行,否则与PROPAGATION_REQUIRED类似

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate 事务传播配置是指在一个事务方法调用另外一个事务方法时,如何处理这两个事务之间的关系。Hibernate事务传播行为配置有以下几种: 1. REQUIRED:如果当前没有事务,就新建一个事务;如果当前已经存在事务,就加入该事务。 2. SUPPORTS:如果当前有事务,就加入该事务;如果当前没有事务,就以非事务状态执行。 3. MANDATORY:如果当前有事务,就加入该事务;如果当前没有事务,就抛出异常。 4. REQUIRES_NEW:不管当前是否存在事务,都新建一个事务,并在该方法执行完毕后提交或回滚。 5. NOT_SUPPORTED:以非事务状态执行该方法,如果当前存在事务,就挂起该事务。 6. NEVER:以非事务状态执行该方法,如果当前存在事务,就抛出异常。 7. NESTED:如果当前存在事务,则在该事务内部开启一个子事务;如果当前没有事务,则新建一个事务。 其中,REQUIRED 是最常用的事务传播行为配置,它表示如果当前没有事务,则新建一个事务;如果当前已经存在事务,则加入该事务。这个配置可以保证所有的操作都在同一个事务内完成,要么全部成功,要么全部回滚。但是,如果某个方法抛出了异常,可能会导致整个事务回滚,包括之前已经成功执行的操作。因此,在使用 REQUIRED 配置时,需要仔细考虑事务边界的划分,以避免不必要的回滚。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值