Spring 注解 @Transactiona 事务如何手动回滚
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, rollbackFor = Exception.class)
事务回滚有两个办法
方法 1
事务声明指定了回滚条件,可以抛出异常回滚,如:throw new Exception()
不过该方法直接抛出异常,在某些情况下不会接着执行异常以后的代码
方法 2
手动回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
使用该代码直接回滚事务,但接下来的代码依然可以执行
如:
if (result != 1){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return result;
}
实际中根据实际情况选则那种回滚方法
展开阅读全文
版权声明:
本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:jaagool@sina.cn 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:jaagool@sina.cn 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。