EntityManager.persist()
不會保存到數據庫中並添加到我的項目中的新實體bean。以前同樣添加的bean會保存到數據庫中。EntityManager.persist()不保存到數據庫
我試過添加EntityManager.getTransaction().commit()
,這會導致錯誤,並且EntityManager.flush()
,但是這會導致TransactionRequiredException
。
任何幫助,將不勝感激。
EntityManager.persist()
不會保存到數據庫中並添加到我的項目中的新實體bean。以前同樣添加的bean會保存到數據庫中。EntityManager.persist()不保存到數據庫
我試過添加EntityManager.getTransaction().commit()
,這會導致錯誤,並且EntityManager.flush()
,但是這會導致TransactionRequiredException
。
任何幫助,將不勝感激。
加EntityManager.getTransaction().begin()
之前persist()
然後commit()
之後。
所有的事務操作都應該在begin和commit之間保持。
EntityManager.getTransaction().begin()
.
.
EntityManager.persist();
EntityManager.flush()
.
.
EntityManager.getTransaction().commit()
謝謝!開始的電話是這裏缺少的東西,我也使用JTA,這意味着我必須像這樣管理它:
UserTransaction transaction = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
transaction.begin();
EntityManager em = getEntityManager();
em.persist(YourBean);
transaction.commit();
可能有不同的原因。首先,檢查你的persistence.xml。您是否列出了實體或「 false exclude-unlisted-classes>」這一行? –
kalamar