java - 每次访问数据库时都需要 createEntityManager() 吗?

标签 java entitymanager

如果您正在执行 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?

最佳答案

也许尝试在这里寻找示例:

Injections EntityManager

我更喜欢使用:通过@PersistenceContext注入(inject)

关于java - 每次访问数据库时都需要 createEntityManager() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742065/

相关文章:

java - 验证属性或配置的单元/集成测试

java - 从 NewProxyConnection 中解开 NewProxyConnection 和 GetConnection

jpa - 使用 JPA entityManager 时为什么要在删除之前合并?

java - Hibernate EntityManagerFactory EntityManager

java - 计算圆弧平移多远以避免相交

java - 如何在不创建 *.JcoDestination 文件的情况下使用 JCo 连接

java - 将 UUID 转换为 GUID,反之亦然

java - 以编程方式创建实体管理器,无需持久性文件

symfony - 通知 : Object of class Doctrine\ORM\EntityManager could not be converted to int

java - 重复结构、过程方法