title: org.hibernate.HibernateException: collection is not associated with any session
body: <p>A friend of mine have got a peculiar problem in an open source software <code>OscarMcmaster</code>. He asked me to help and I am able to get to the code causing problem. The following is a method:</p>
  
  <pre><code> public BillingService getBillingCodeByCode(String code){
      List list = billingServiceDao.findBillingCodesByCode( code,"BC");
      if(list == null || list.size() ==0 ){
          return null;
      }
      return (BillingService) list.get(0);
    }
  </code></pre>
  
  <p>The <code>billingServiceDao</code> is initialized by <code>Spring</code> container:</p>
  
  <pre><code>private static BillingServiceDao billingServiceDao = 
                    (BillingServiceDao) SpringUtils.getBean("billingServiceDao");
  </code></pre>
  
  <p>In <code>BillingServiceDao</code> class following code is executed:</p>
  
  <pre><code>public List&lt;BillingService&gt; findBillingCodesByCode(String code, String region) {
      Query query = entityManager.createQuery("select bs  from....");
      query.setParameter("code", code + "%");
      query.setParameter("region", region);
  
      @SuppressWarnings("unchecked")
      List&lt;BillingService&gt; list = query.getResultList();
      return list;
  }
  </code></pre>
  
  <p>The culprit is <code>query.getResultList();</code> but I'm from other universe (.Net) and don't know the remedy for the problem. </p>
  
  <p>Please help me help my friend solve this problem.</p>
  
  <p><strong>EDIT:- Stack Trace</strong></p>
  
  <pre><code>SEVERE: Servlet.service() for servlet action threw exception
  org.hibernate.HibernateException: collection is not associated with any session
      at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:449)
      at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:797)
      at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
      at org.hibernate.loader.Loader.doList(Loader.java:2220)
      at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
      at org.hibernate.loader.Loader.list(Loader.java:2099)
      at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
      at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
      at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
      at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
      at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
      at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:66)
      at org.oscarehr.common.dao.BillingServiceDao.findBillingCodesByCode(BillingServiceDao.java:47)
      at org.oscarehr.common.dao.BillingServiceDao$$FastClassByCGLIB$$f613fb7e.invoke(&lt;generated&gt;)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
  </code></pre>