@Transactional使用try->catch捕获异常并回滚方法

业务需求:需要捕获到@Transactional中的异常,并不影响事物回滚

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

你可能感兴趣的:(springboot)