【发布时间】:2011-10-08 06:20:40
【问题描述】:
我有以下代码:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("test")
EntityManager entityManager = emf.createEntityManager()
User user = entityManager.find(User.class, 0);
entityManager.getTransaction().begin();
entityManager.getTransaction().rollback();
entityManager.refresh(user);
这会在第四行引发 IllegalArgumentException,说“实体未托管”。如果我将第三行更改为.commit() 而不是.rollback(),一切似乎都正常。
这里发生了什么?我可以防止这种情况发生吗?
更新: @DataNucleus 将我引向 PersistenceContext。如何更改代码中的持久化上下文?
【问题讨论】:
标签: java hibernate jpa persistence entitymanager