我使用JPA库在我SpringBoot应用程序相同的行我有我的数据库定期设置某些元素“准备好” 我也有一个用户可以调用和端点的后台任务可以修改同一个表的一行。JPA两种事务更新
有没有办法来避免一个又一个相互抵消写?就拿这个场景
Table:
Key
id name is_ready
0)有初始数据的关键(1个NO_NAME假)
1)在后台任务踢和即将通过设置
is_ready to true
Key key = repo.findKeyByIsReady(false)
key.setIsReady(true)
repo.save(key) <--- does NOT yet execute this
修改表的关键2)用户调用api端点将密钥名称更改为“new_name”并完成
3)现在后台服务执行repo.save(key),最后的数据是
1 no_name true
代替
1 new_name true
基本上后台任务已覆盖键名用户
是有办法避免这种情况的设置?交易如何在这里有所帮助?