【问题标题】:EntityManager is closed whenever I return like @PersistenceContext protected EntityManager entityManager;每当我像@PersistenceContext protected EntityManager entityManager 一样返回时,EntityManager 就会关闭;
【发布时间】:2017-03-09 15:53:02
【问题描述】:

我得到了 Entitymanager 之类的;

CRUD(){
        @PersistenceContext
        protected EntityManager entityManager;

    public EntityManager getEntityManager() {
            return entityManager;
        }
}

在我的无状态 EJB 中;我使用 like

@TransactionAttribute(TransactionAttributeType.REQUIRED)

public void update(Customer entity) {
EntityManager em = crud().getEntityManager();
System.out.println("*****************"+em.isOpen());

Customer item = em.find(Customer.class,entity.getId());
if (entity.getParentId()!=null) {
    item.setParent(em.find(CRMEntity.class , entity.getParentId()));
item.setParentId(entity.getParentId());
}

这里我总是得到 entitymanager is closed。 (我的打印总是显示为 false)为什么?

我使用 Wildfly 10,JTA 和 Hibernate。

【问题讨论】:

    标签: hibernate jakarta-ee wildfly entitymanager jta


    【解决方案1】:

    我错误地关闭了会话。这导致了问题。

    if (session != null && session.isOpen()) {
                    session.close();
    
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2018-01-20
      • 1970-01-01
      • 2011-06-10
      • 2017-05-19
      • 2019-06-15
      • 2015-09-28
      • 2017-03-20
      • 1970-01-01
      相关资源
      最近更新 更多