Bonsoir,

Voila mon problème, je travail avec ejb 3 et j'arrive à ajouter des nouveaux enregistrements dans ma base de données, par contre lorsque je voulais supprimer un enregistrement dans ma table j'avais un LazyInitialisationException, aprés quelques recherches sur le net, j'ai trouvé et voila le code qui permet de supprimer

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public void supprimerDocument(Document document) {
		em.remove(em.find(Document.class, document.getId()));
 
	}
En fait, avant je mettais juste em.remove(document), et j'avais l'erreur cité ci-dessus

Maintenant, mon problème est : lorsque je veux faire une requête de type SELECT, j'ai de nouveau cette erreur :

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
 
type Rapport d'exception
 
message
 
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
 
exception
 
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ejb.TypeDocument.document, no session or session was closed
	org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
	org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
	org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
	org.hibernate.collection.PersistentSet.add(PersistentSet.java:189)
	servlet.AjouterDocument.doGet(AjouterDocument.java:142)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Et la je ne peux pas mettre un find

Savez vous comment peut on corriger ce problème ?

Merci