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

@Transactional(rollbackFor = Exception.class)
public void test() {  
    try {  
       //方法体
    } catch (Exception e) {  
         e.printStackTrace();     
         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
    }  

@Transactional注解默认只能拦截RuntimeException和Error,如果自定义的Exception,需要如下设置
@Transactional(rollbackFor = Exception.class)

你可能感兴趣的:(Java)