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

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

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

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

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

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

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

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

想想 都出了冷汗 

赶紧恶补了一下 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值