当我们需要在事务控制的service层类中使用try catch 去捕获异常后,就会使事务控制失效,因为该类的异常并没有抛出,就不会触发事务管理机制。怎样才能即使用try catch去捕获异常,而又让出现异常后spring回滚呢?

1 可在catch中抛出运行时异常throw new RuntimeException(e)

2 手动回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

使得事务生效,异常回滚。

pring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

相关文章:

  • 2022-01-12
  • 2022-12-23
  • 2022-01-31
  • 2021-08-28
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-14
  • 2021-09-05
  • 2021-09-17
  • 2021-08-22
  • 2022-01-08
  • 2022-01-08
相关资源
相似解决方案