InvalidStateException при попытке ввода данных в БД - PullRequest
2 голосов
/ 30 декабря 2010

У меня есть метод, который возвращает диспетчер сущностей для конкретной базы данных. Теперь, когда я впервые использую метод, чтобы получить диспетчер сущностей, все работает отлично. Я могу сохранять данные в любые таблицы A, B, C, используя диспетчер сущностей.Теперь скажите, что я получаю исключение при сохранении в таблице B

Теперь, когда я пытаюсь выполнить какую-либо операцию с БД после получения исключения, описанного выше, в следующий раз, когда я пытаюсь запустить тот же код, происходит сбой при обновлении в самой таблице А.Я вижу, как следует

                                 <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 ..

1 Ответ

0 голосов
/ 30 декабря 2010

Где-то в вашем коде вы (или фреймворк) закрываете свой EntityManagerFactory.Убедитесь, что вы не позвонили close().

...