2010-10-14 119 views
1

我在J2SE項目中使用EclipseLink。我正在使用mysql和JPA。我有一個簡單的實體主鍵和String字段。我可以使用EntityManager#createQuery從數據庫中讀取數據,但是當我嘗試使用persistmerge實體時,數據庫中沒有任何內容,並且不會引發異常。我可以毫無問題地手動插入數據(使用與persistence.xml文件相同的憑據)。請幫忙!這個問題與jpa實現無關,我猜想是因爲更改persistence.xmlHibernate的提供者並沒有幫助。持久性問題

回答

1

您需要在活動事務中執行persist()merge()。然後您需要調用交易對象上的commit()方法。

通過在EntityManager實例上調用getTransaction()創建一個事務,獲取一個EntityTransaction對象,然後調用begin()。在實體更新(例如merge())完成後,請致電commit()

參見:http://download.oracle.com/javaee/6/api/javax/persistence/EntityTransaction.html

+0

不給予好評接受的答案不健全的權利。 +1 – 2010-10-14 23:27:46