每当我像@PersistenceContext一样返回受保护的EntityManager entityManager时,EntityManager就会关闭;

时间:2016-10-27 05:09:23

标签: hibernate java-ee wildfly entitymanager jta

我得到了Entitymanager;

CRUD(){
        @PersistenceContext
        protected EntityManager entityManager;

    public EntityManager getEntityManager() {
            return entityManager;
        }
}

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

@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());
}

我总是让实体经理 关闭 。 (我的打印总是显示为 false )为什么?

我使用wildfly 10,JTA和Hibernate。

1 个答案:

答案 0 :(得分:0)

我错误地结束了会议。这导致了这个问题。

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

            }
        }