Bonjour,
J'envisage toujours le même problème avec Hibernate, je m'explique:
Je récupère une liste d’évènement de ma BDD, dans chq evnt il y a des participants je dois afficher chq evnt suivi de sa liste de participant, le problème est la: qd j'essaye d’accéder a la liste des participant l'exception suivante se lève:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Evenement.participants, no session or session was closed
Les fichiers de mapping:
Servlet:
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 <class name="Evenement" table="event" lazy="true"> <id name="code" type="integer" column="code"> <generator class="native" /> </id> <property name="nom" /> <property name="date" type="date"/> <set name="participants" inverse="true" cascade="all" fetch="join"> <key> <column name="code" /> </key> <one-to-many class="Membre" /> </set> </class>
Jsp:
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 public class ActionChargerClssmnt extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ArrayList<Evenement> tab1; DAOEvent dao = DAOEventHBM.getInstance(); tab1 = dao.load(); request.setAttribute("Liste_Evnt", tab1); return mapping.findForward("succes"); }
Toute proposition sera appréciée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <logic:iterate id="clssmnt" name="Liste_Evnt" scope="request"> <strong> <bean:write name="clssmnt" property="nom" />: </strong> <br/> Liste des Participants: <br> <logic:iterate id="partcip" name="clssmnt" property="participants"> Nom: <bean:write name="partcip" property="nom" /> Prenom: <bean:write name="partcip" property="prenom" /> <br/> </logic:iterate> </logic:iterate>
Merci d'avance.
Partager