Spring事务管理----事物回滚
Posted 玄机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring事务管理----事物回滚相关的知识,希望对你有一定的参考价值。
Spring的事务管理默认只对未检查异常(java.lang.RuntimeException及其子类)进行回滚,如果一个方法抛出Checked异常,Spring事务管理默认不进行回滚。
改变默认方式
在@Transaction注解中定义noRollbackFor和RollbackFor指定某种异常是否回滚。
@Transaction(noRollbackFor=RuntimeException.class)
@Transaction(RollbackFor=Exception.class)
这样就改变了默认的事务处理方式。
启示
这就要求我们在自定义异常的时候,让自定义的异常继承自RuntimeException,这样抛出的时候才会被Spring默认的事务处理准确处理。
以上是关于Spring事务管理----事物回滚的主要内容,如果未能解决你的问题,请参考以下文章
spring事物回滚机制 (事务异常回滚,捕获异常不抛出就不会回滚)