2009-08-15 4 views
2

juste une simple question sur un problème ...Hibernate, Spring et Struts, Aucune session liée à fileter

Dans mon application web Struts i utiliser , Spring et Mise en veille prolongée.

J'ai beaucoup de Business (classes qui éditent la base de données avec Hibernate), beaucoup d'action qui interagissent avec Business.

Dans Spring configuration, j'ai injecté SessionFactory dans Business et Business dans Actions. Quand j'appelle une entreprise tout le travail.

Quand je retourne dans le flux, Hibernate lance une exception. En action, je veux récupérer l'objet paresseux et le lancement d'Hibernate "n'a pas réussi à initialiser paresseusement une collection - aucune session ou session n'a été fermée".

Il existe une solution de contournement?

Répondre

3

Si vous voulez pouvoir accéder aux objets Hibernate chargés paresseusement dans une action ou une vue, vous avez besoin d'un intercepteur ou d'un filtre pour maintenir la session ouverte jusqu'à la fin de la requête. Le printemps fournit le OpenSessionInViewFilter pour le faire pour vous.