0

我在使用 JPA(使用 EclipseLink 4.2.1)时遇到了一个奇怪的问题。

代码的相关部分:

l.debug("creating EM");
em = factory.createEntityManager();
int id = Integer.parseInt(idString);
l.debug("parsed");
em.getTransaction().begin();
SomeClass g = em.find(SomeClass.class, id);
l.debug("found");
em.remove(g);
l.debug("removed");
em.getTransaction().commit();
l.debug("Returning...");

输出是:

DEBUG - creating EM
DEBUG - parsed
DEBUG - found
DEBUG - removed

如您所见,最后一行没有显示(commit() 没有返回)。它不会抛出任何异常。但是,该对象将从数据库中删除。

在应用程序的任何其他点都没有这样的问题。

4

1 回答 1

1

通常挂起事务的根本原因可能是与其他并发事务的死锁

于 2012-11-08T21:10:57.253 回答