Bonjour à tous,
j'utilise Springframework 1.2, hibernate 3.0.3 et Struts 1.2.4.
J'ai, dans mon fichier de mapping hibernate une simple relation one-to-many d'une classe Client (société) vers une classe Employee.
En laissant la relation par défaut, je suis en mode lazy="true" et celà me pose un souci assez important.
En effet, dans mon premier use-case, j'affiche la liste des société (sans charger les employees). Cette liste est stockée en session par mon form bean struts.
Quand je sélection un élément de ma liste, je désire afficher le liste des employés de cette société mais là, j'ai une érreur que je comprend assez bien et sont voici le début de la stack :
En effet, entre mes deux appels struts, la session hibernate a été détruite. Ma question est donc la suivante :ERROR LazyInitializationException: failed to lazily initialize a collection (demo.client.data.Client.employees) - no session or session was closed [15:38:34.950] org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:19)
- Comment détacher le proxy généré par la CGLIB de ma classe 'Client'
- n'y as t'il pas de ServletFilter Spring à mettre en place pour réassocier ma session (ou une nouvelle session) au ThreadLocal de mon Servlet ?
PS: Tout fonctionne parfaitement si le suis en lazy="false" mais il est impensable de travailler dans ce mode.
Merci à tous
Partager