SpringBoot @Transactional 中捕获异常并回滚解决方法
Posted Firm陈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()会回滚,不影响事务正常执行
}
以上是关于SpringBoot @Transactional 中捕获异常并回滚解决方法的主要内容,如果未能解决你的问题,请参考以下文章
springboot~Transactional注解的注意事项
springboot项目中,@transactional 无效
SpringBoot JPA 在@Transactional 上不需要 .save() 吗? [复制]
SpringBoot设置 @Transactional ,并在异常处理中调用setRollbackOnly()事务不回滚