2

特定のDBのエンティティマネージャーを返すメソッドがあります。このメソッドを初めて使用してエンティティマネージャーを取得すると、すべてが正常に機能します。エンティティマネージャーを使用してデータを任意のテーブルA、B、Cに保存できます。テーブルBに保存中に例外が発生する

上記の例外が発生した後にDBで操作を実行しようとすると、次に同じコードを実行しようとすると、テーブルA自体で更新すると失敗します。次のように見えます。

                                 <openjpa-1.2.2-SNAPSHOT-r422266:778978M-OPENJPA-975 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: The factory has been closed.  The stack trace at which the factory was closed is available if Runtime=TRACE logging is enabled.
    at org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:673)
    at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:182)
    at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
    at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
    at ..
4

1 に答える 1

0

コードのどこかであなた(またはフレームワーク)があなたを閉じますEntityManagerFactory。あなたがそれを呼び出さなかったことを確認してくださいclose()

于 2010-12-30T16:12:31.923 に答える