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 に答える