【java】Spring事务(@Transactional)回滚问题

项目中遇到的问题,此处做一个记录,以免忘记。

 

默认配置下,自动回滚需要抛出RuntimeException类异常。

 

解决方法一:在需要自动回滚的地方抛出RuntimeException类异常(可自定义异常类);若需在方法中try..catch处理,需要在catch中将异常再次抛出让其捕捉到,才能自动回滚,后面代码不再执行。

 

 

 

解决方法二:使用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();手动回滚。此时,异常在本层就被处理了,不交给上一级调用者。

 

 

 

 

你可能感兴趣的:(javacase,note)