如果您正在执行 CRUD 过程,您是否必须执行此操作(事务类型:RESOURCE_LOCAL 而不是 JTA)
@PersistenceUnit(unitName="mongo")
EntityManagerFactory emf;
EntityManager em;
@Inject
private SomeObj injectableObj;
public void create()
{
em = emf.createEntityManager(); <---- here
SomeObj obj = new SomeObj();
em.persist(obj);
}
public void read()
{
em = emf.createEntityManager(); <---- here
Query query = em.createQuery("Select s from SomeObj s");
}
public void update()
{
em = emf.createEntityManager(); <---- here
SomeObj s = em.find(SomeObj.class, injectableObj.getId());
s.setSomeObj(injectableObj.getSomeObj());
}
public void delete()
{
em = emf.createEntityManager(); <---- here
SomeObj s = em.find(SomeObj.class, injectableObj.getId());
em.remove(s);
}
问题:有没有办法注入(inject)EntityManager?
最佳答案
关于java - 每次访问数据库时都需要 createEntityManager() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742065/