Bonjour,

J'ai un fichier de mapping pour l'objet Procedure dans lequel je mappe une collection listeMail et je mets l'attribut "lazy" à "true". Donc quand je charge un objet Procedure la collection listeMail n'est pas chargée automatiquement. C'est parfais !

Du coup quand je fais Procedure.getListeMail() il me provoque une erreur qui est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ERROR [http-8080-Processor25] (LazyInitializationException.java:19) - failed to lazily initialize a collection of role: bean.Procedure.listeMail, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: bean.Procedure.listeMail, no session or session was closed
Est ce que quand je fais Procedure.getListeMail(), un simple getteur il essaie de se connecter à la base ???

J'ai essayer de modifier ma méthode comme ceci :

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
20
21
22
23
24
 
	/**
         * @return Returns the listeMail.
         */
	public Set getListeMail() {
		Session s = null;
		Set listeMail = null;
		try{	
			// Ouverture de la session de connection à la BD
			s = HibernateUtil.getCurrentSession();	
 
			return listeMail;
 
		} catch (HibernateException e) {
			e.printStackTrace();
			if (s!= null) s.getTransaction().rollback();
			oLogger.error("Procedure-getListeMail : Erreur hibernate " + e.getMessage());			
		}
		finally{			
			// Fermeture de la session de connection à la BD
			HibernateUtil.closeSession();			
		}	
                return listeMail;
	}
Mais bien sur ca marche pas !

Auriez vous des suggestions ?

Merci