【发布时间】:2017-06-15 02:43:37
【问题描述】:
下面是我们源代码的sn-p...
@transactional
public void doSomething(){
User user = (set up user fields)
userDao.merge(user); //update USER table
//call another web service which also updates USER table
//do other processes
}
问题是,来自其他 Web 服务的更新被来自 userDao.merge 的更新覆盖,因为它在事务方法完成之前不会提交合并事务。
你如何处理这种情况?我希望 userdao.merge 的更新和其他 Web 服务完成的更新都记录在案。
【问题讨论】:
-
我假设您没有跨应用程序使用 JTA 来同步事务?换句话说,它们是两个独立的应用程序,只是碰巧在处理同一个数据库行的同时处理自己的事务。
-
我想一个更好的问题是,即使原始 Web 服务成功,您是否关心其他 Web 服务是否失败?
-
我没有使用它。那是我需要做的吗?我如何实现它?
标签: hibernate jpa jpa-2.0 hibernate-mapping spring-transactions