Salve a tutti,

nel seguente codice se chiudo la sessione hibernate mi lancia una eccezione:

codice:
 public List<Sendreport> getUtentiPerReport(String frequenza) throws Exception{
       Session conn=new Configuration().configure().buildSessionFactory().openSession();
       String queryString="select * from sendreport r where ";
       int flag=1;
       if(frequenza.equalsIgnoreCase("Orario")){
           queryString+="r.Orario= :flag";
       }
       if(frequenza.equalsIgnoreCase("Giornaliero")){
           queryString+="r.Giornaliero= :flag";
       }
       
       Query query = conn.createSQLQuery(
            queryString)
            .addEntity(Sendreport.class)
            .setParameter("flag",flag);   
       
       List listaUtenti = query.list();
       
      // conn.close();  //**** se chiudo qui la sessione hibernate mi dà dei problemi
     return listaUtenti;
   }
il fatto è che l'oggetto Sendreport al suo interno contiene l'oggetto Utenti, tra la tabella Sendreport e Utenti c'è una relazione ... la tabella Sendreport ha una foreign key verso Utenti....
Qualcuno si è mai scontrato in un problema simile??? Dove chiudere la sessione? e se chiudo la sessione poi c'è rischio che mi perdi l'oggetto Utenti...

Grazie tante per ogni vostra possibile risposta