Проблема с постоянством - PullRequest
       36

Проблема с постоянством

1 голос
/ 15 октября 2010

Я использую EclipseLink в моем J2SE проекте.Я использую mysql и JPA.У меня есть простая сущность с первичным ключом и полем String.Я могу читать из базы данных, используя EntityManager#createQuery, но когда я пытаюсь создать сущность persist или merge, в базу данных ничего не помещается и никакие исключения не выдаются.Я могу вставлять данные вручную без проблем (используя те же учетные данные, что и в файле persistence.xml).Пожалуйста помоги!Я полагаю, что проблема не связана с реализацией jpa, потому что смена провайдера в persistence.xml на Hibernate не помогает.

1 Ответ

1 голос
/ 15 октября 2010

Вам нужно сделать persist() или merge() внутри активной транзакции. Затем вам нужно вызвать метод commit() объекта транзакции.

Создайте транзакцию, вызвав getTransaction() в экземпляре EntityManager, вернув объект EntityTransaction, а затем вызвав begin() для него. Позвоните на commit() после того, как обновления вашей сущности (такие как merge()) будут сделаны.

См .: http://download.oracle.com/javaee/6/api/javax/persistence/EntityTransaction.html

...