如题,代码基本功能描述:接口A中有两个接口:B(接口)、C(接口)
接口B进行数据更新操作:通过person表中的id获取person,然后更新person.name的值。
接口C查询更新的数据操作:通过更新后的name值,查询接口B更新的那条数据A接口使用了spring事务控制,C接口查询为空(查询不到B接口更新的数据),本人理解如果在一个事务里,也就是一个线程中,B接口没有到数据库,但是C接口也是可以查询到B接口更新的数据的!spring数据库事务管理
接口B进行数据更新操作:通过person表中的id获取person,然后更新person.name的值。
接口C查询更新的数据操作:通过更新后的name值,查询接口B更新的那条数据A接口使用了spring事务控制,C接口查询为空(查询不到B接口更新的数据),本人理解如果在一个事务里,也就是一个线程中,B接口没有到数据库,但是C接口也是可以查询到B接口更新的数据的!spring数据库事务管理
既然这样那你为什么C查询的时候 不根据id来查?
有什么特殊的业务需求?
id name age
1 jack 20B接口更新数据后,变为:
id name age
1 leo 20现在C接口去查询数据name = 'leo'的person,这条刚刚更新的数据就是出不来,个人猜想可能是事务还没有提交到数据库造成的···起初想把更新和查询控制在一个事务,现在发现还是有同样的问题···
但是用spring事务,将B、C放在一个事务却不能解决···
if(flag)
{
c.query();
}这样试试?