Bonjour,

Je veux utiliser le "lazy loading" sur mes collections.
Dans mes fichiers xml de mapping, j'ai mis des lazy true.

Ex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<hibernate-mapping package="mgpat.workflow.prevoyance.hibernate">
 
    <class name="WrkUtiActDem" table="wrk_uti_act_dem" schema="public">
        <composite-id name="id" class="WrkUtiActDemId">
 
            <key-many-to-one name="wrkUtilisateur" class="mgpat.workflow.authentification.hibernate.WrkUtilisateur">
                <column name="uti_id" />
            </key-many-to-one>
 
 
        <set name="wrkUtiActDems" cascade="all" lazy="true">
            <key>
                <column name="dem_id" not-null="true" />
            </key>
            <one-to-many class="WrkUtiActDem" />
        </set>
 
</hibernate-mapping>

Quand je remonte et lis mes collections aucun problème majeur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
 Session session = HibernateUtil.openSession("rechercheAction");
 
	       List list = ServicePrevoyance.rechercheBordereau(session, frm.getNumAdherent(), frm.getRang(), "etat", "prevBeneficiaire.id.benNumAdherent","demId");
 
	       // on remonte  dans la boucle les données du bénéficiaire pour chaque bordereau pour éviter un plantage session ! ! !
 
	      for(int i=0;i<list.size();i++)
	      {
				prevBordereau = (PrevBordereau)list.get(i);
				prevBordereau.getPrevBeneficiaire().getBenNom();
				//Set items = prevBordereau.getWrkUtiActDems().size();}
 
	       return mapping.findForward(mappingStr);
   }
Une fois la collectio nremontée, je ferme la session hibernate
Je la relis en test pour etre sur qu elle est complétée, aucun soucis.

Je met ma collectio ne nsession, et des que j'y accede dans ma jsp j'ai une exception classique :

org.apache.jasper.JasperException: could not initialize proxy - the owning Session was closed
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
Je ne comprend pas l erreur, puisque dans la classe précédente, j arrive a lire ma collection, même si la session est fermée