EntityManager.persist()不保存到数据库

时间:2013-12-12 14:26:48

标签: java ejb entitymanager persist

EntityManager.persist()不会使用我添加到项目中的新实体bean保存到数据库。以前类似添加的bean保存到数据库中。

我尝试添加EntityManager.getTransaction().commit(),这会导致错误EntityManager.flush(),但会产生TransactionRequiredException

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:0)

EntityManager.getTransaction().begin()之前添加persist(),之后再添加commit()

答案 1 :(得分:0)

所有交易操作都应保持在开始和提交之间。

EntityManager.getTransaction().begin()
  .
  .  
  EntityManager.persist();
  EntityManager.flush()
  .
  .
 EntityManager.getTransaction().commit()

答案 2 :(得分:0)

谢谢!开始调用是这里缺少的东西,我也在使用JTA,这意味着我必须像这样管理它:

UserTransaction transaction = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
transaction.begin();
EntityManager em = getEntityManager();
em.persist(YourBean);
transaction.commit();