EntityManager.persist()
不会使用我添加到项目中的新实体bean保存到数据库。以前类似添加的bean保存到数据库中。
我尝试添加EntityManager.getTransaction().commit()
,这会导致错误EntityManager.flush()
,但会产生TransactionRequiredException
。
任何帮助都将不胜感激。
答案 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();