为了账号安全,请及时绑定邮箱和手机立即绑定

如果try{} catch{}之后没有再进行抛出新的异常,事务管理还会回滚吗.?

如果try{} catch{}之后没有再进行抛出新的异常,事务管理还会回滚吗.?

慕的地10843 2019-03-15 14:14:14
还有就是多个事务方法放同一个事务方法会合并成一个事务吗?这样做会有什么隐患吗?
查看完整描述

5 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

1catch 住就不会滚了
2建议用一个事物

查看完整回答
反对 回复 2019-04-16
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

1.正常的一步步在栈中执行,抛出异常就是,意外终止这个执行栈,你可以把这个异常交给其他的地方去处理,但这个执行栈就终止了。
2.所以执行过的语句如果需要回滚,要么在catch中去做,要么抛给其他专门的异常处理线程去处理。
3.spring中的事务有专门的异常处理类吧,如果抛出异常,那么会交给它处理,它会根据你的配置进行处理
4.如果在当前catch住了,那么我认为spring没那么智能吧,你只能在当前手动回滚。

查看完整回答
反对 回复 2019-04-16
?
森栏

TA贡献1810条经验 获得超5个赞

没怎么看懂你在说什么,不是出现了异常才需要回滚么,回滚不回滚和try catch没有必然的联系,看你吧回滚方法写在哪了,事务是把几件事看做一个整体,类似于原子,不可再分,事务里的程序要么都执行完,要么都不执行,不存在哪个执行了而其他的没执行,所以事务是不需要嵌套的,这么做没意义。


查看完整回答
反对 回复 2019-04-16
  • 5 回答
  • 0 关注
  • 4832 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号