SpringBoot @Transactional 中捕获异常并回滚解决方法

Posted Firm陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot @Transactional 中捕获异常并回滚解决方法相关的知识,希望对你有一定的参考价值。

1.spring boot入口函数添加@EnableTransactionManagement注解

2.

@Transactional(rollbackFor = Exception.class)
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()

@Transactional(rollbackFor = Exception.class)
public void test() {  
     try {  
        updata();  
        updata2();  
     } catch (Exception e) {  
          e.printStackTrace();     
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//如果updata2()抛了异常,updata()会回滚,不影响事务正常执行                                                                              
     } 

以上是关于SpringBoot @Transactional 中捕获异常并回滚解决方法的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot之事务管理Transactional

springboot~Transactional注解的注意事项

@Transactional使用

springboot项目中,@transactional 无效

SpringBoot JPA 在@Transactional 上不需要 .save() 吗? [复制]

SpringBoot设置 @Transactional ,并在异常处理中调用setRollbackOnly()事务不回滚