Spring的事务管理对何种异常进行回滚
一、结论
Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。
如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。
关于异常的分类请参看本博客的《Java异常分类》https://blog.csdn.net/woshixuye/article/details/8230407
二、改变默认方式
在@Transaction注解中定义noRollbackFor和RollbackFor指定某种异常是否回滚。
@Transaction(noRollbackFor=RuntimeException.class)
@Transaction(RollbackFor=Exception.class)
这样就改变了默认的事务处理方式。
三、启示
这就要求我们在自定义异常的时候,让自定义的异常继承自RuntimeException,这样抛出的时候才会被Spring默认的事务处理准确处理。
最后更新:2017-04-04 07:32:09
上一篇:
android ListView中Checkbox实现单选,全选,全不选功能——1
下一篇:
一位三年程序员的经验总结
ios优秀开源项目收集(不断更新中....)
JSP网页分页显示数据库的内容
Android 4.0设置Dialog点击屏幕不消失
JAVA获取图片大小和尺寸
《Servlet、JSP和Spring MVC初学指南》——1.3 编写基础的Servlet应用程序
GDB调试MySQL
新型智慧城市:以信息为基础的精确化管理
Linux网络设置2——虚拟机中的Linux和Windows网络互通设置
Douglas Adams - 3 Rules That Describe Our Reactions To Technologies 科技影响生活的三个规律
控制gridview显示字段中显示的字数