首页 新闻 会员 周边

Spring一个事务中如何另开一个事务

0
[待解决问题]

一个很长的事务中,对其中一个方法(调得另外一个类中的)配置了propagation="REQUIRES_NEW"但没有用,这个方法执行完后,还是没有提交(程序SELECT查不到)

主的羊的主页 主的羊 | 菜鸟二级 | 园豆:206
提问于:2017-12-06 13:34
< >
分享
所有回答(2)
0

能贴上具体的注解和代码吗?REQUIRES_NEW会新启一个事务,原方法事务会先被挂起,等到新启动事务提交后,原方法事务会再次生效。

陈其苗 | 园豆:216 (菜鸟二级) | 2017-12-06 14:03

是这么说,但就是不起作用呢,配置文件里写的,注解也试过

支持(0) 反对(0) 主的羊 | 园豆:206 (菜鸟二级) | 2017-12-06 15:21
0

我理解你的问题是:A对象A1调用B对象A2
这样你的两个方法事务都是生效的,也就是两个事务。由于你的事务隔离级别是默认的。可能是可重复读;所以A事务读不到B事务已经提交的数据【如果是这样B执行完你就可以查看数据库中数据是否被更改】
如果不是我上面的理解,你要去排查第二个事务是不是没有生效

邀月入梦 | 园豆:215 (菜鸟二级) | 2020-03-09 20:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册