实际开发中,有时没有异常发生,但是执行结果不是我们期望的情况,需要手动让事务回滚

需求:开支单保存

原来的代码:

修改后的代码:

Spring控制事务下手动回滚事务的方法:

在实际开发中,有时并没有异常发生,但是由于事务结果未满足具体业务需求,所以我们不得不手动回滚事务!

有如下两种方法:

①手动抛出异常(如果你没有配置一般异常事务回滚,请抛出运行时异常)  

    if(){   

    }else{     

        throw new RuntimeException();  

    }                 

 ②编程式实现手动回滚             

    if(){ 

   }else{       

      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();  

    }  

猜你喜欢

转载自blog.csdn.net/xiao297328/article/details/82842635
今日推荐