@transactional 回滚以后方法执行吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@transactional 回滚以后方法执行吗相关的知识,希望对你有一定的参考价值。

参考技术A 不执行
打了这个注解的类或者方法表示该类里面的所有方法或者这个方法的事务由spring处理,来保证事务的原子性,不知道这样说你能不能理解,即是方法里面对数据库操作,如果失败则spring负责回滚操作,成功提交操作本回答被提问者采纳

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()会回滚,不影响事务正常执行                                                                              
     } 

以上是关于@transactional 回滚以后方法执行吗的主要内容,如果未能解决你的问题,请参考以下文章

第八章 事务型消息

laravel 中事务的使用

@Transactional注解事务不回滚不起作用无效

Spring @Transactional注解不回滚不起作用无效

Spring @Transactional 浅谈

JPA中事务回滚的问题