2016-10-27 39 views
0

我得到Entitymanager喜歡;每當我像@PersistenceContext一樣返回時,EntityManager被關閉protected EntityManager 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()); 
} 

在這裏,我總是得到的EntityManager是關閉。 (我的打印總是顯示爲false)爲什麼?

我使用wildfly 10,JTA和Hibernate。

回答

0

我錯誤地關閉了會話。這導致了這個問題。

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

      } 
     } 
相關問題