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 :
Une fois la collectio nremontée, je ferme la session hibernate
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); }
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 :
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éeorg.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)
Partager