spring 管理的事务。个人理解(SSH项目注解配置)

来源:互联网 发布:炒白银实时数据 编辑:程序博客网 时间:2024/05/16 03:01

在研究了hibernate的二级缓存,查询缓存之后

      发现了另外一个项目的大问题

项目里面的事务 竟然在失败的时候 不可以回滚

更可怕的时候那么长时间过去了 竟然到现在才意识到

现在项目里面都是用的spring的 注解事务 自从框架搭建后就再没有动过

我承认 我也很无知 不知道 spring的 事务 默认情况下 必须是在 抛出runtimeException之后才能回滚事务

对于 在service 里面 处理异常情况 更是不会回滚事务

想想 都出了冷汗 

赶紧恶补了一下 

  对于之前的问题也找出了处理办法
1.去掉 在service里面的try catch
2.给需要事务处理的方法前加上@Transactional(rollbackFor=Exception.class)
3.尽量在开始任务前把参数判断异常先处理并返回

0 0
原创粉丝点击