2010-10-14 5 views
1

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

ответ

1

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

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

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

+0

Принято ответ без upvote не звучит. +1 –

Смежные вопросы