我有一个交易使用一个实体管理员em1
。在这个事务里面,我调用一个方法。现在这个方法创建一个更多的实体管理者em2
。现在em2
对一些数据进行操作并返回一个对象。现在这个对象从db中填充一行的值。请注意,em2
未关闭。 Somone还实现了这个API,我只是在使用它。是否被锁定了一条记录?
现在,如果我尝试删除由em1
返回的记录,我的代码会挂起,然后超时。是因为em1锁定了特定的记录吗?
伪代码是如果你正在使用的应用程序管理的EM则Hibernate会自动将其加入到当前事务休眠如下
start tx using em1
Obj a = newSomeobject().getdata(id); //get data uses em2 and em2 is not closed.
// now tx ties to update record returnd by getdata and the code times out
为什么没有人回复? – akshay 2011-01-06 17:04:54
@ DataNucleus:我支持所有答案的previvious questions.I不知道我应该接受答案。本网站的新手 – akshay 2011-01-08 08:46:42