Standalone | Session in View
Bonjour,
Je travail sur une application Web qui integre struts, spring et hibernate.
Nous avons donc une couche action (struts), une couche service (manager) et une couche Accès aux données (Dao).
Afin de pouvoir profiter du "lazy" (par défaut dans hibernate 3), nous avons déclarer un filtre SessionInView dans le web.xml, qui permet si j'ai bien compris de garder la session hibernate durant la durée de la requete http.
C'est a dire que dans mon action (classe action) je peux faire :
Code:
1 2 3 4
|
Personne personne = personneManager.getPersonneById(12); // (1 requete en bdd pour aller chercher la personne)
// adresse n'est chargé qu'a la demande - lazy = true)
Adresse adr =personne.getAdresse(); // (1 requete en bdd pour aller chercher l'adresse dans la table adresse) |
Tout fonctionne parfaitement.
Mon problème arrive lorsque j'ai besoin de lancer une appli en version standalone, qui utilise les manager de mon appli Web.
La ligne ci dessous
Code:
1 2 3
|
Personne personne = personneManager.getPersonneById(12); // (1 requete en bdd pour aller chercher la personne)
System.out.println(personne.getNom()); |
fonctionne parfaitement, elle m'affiche bien le nom de la personne qui a pour id 12.
Parcontre , la ligne :
Code:
1 2
|
Adresse adr =personne.getAdresse(); |
ne fonctionne pas , l'erreur Could not initialize proxy - no Session " apparait.
En effet étant donner que je n'ai pas le filtre SessionInView, lors de cette appel, la session n'existe pas.
Je comprend bien le problème, mais je ne sais pas comment y remédier.
Si quelqu'un a quelques idees pour m'aider :-)
merci et passé de bonnes fêtes.
Loïc