Bonjour, j'utilise Struts et Hibernate 3. Je me pose une question par rapport au "lazy loading"

Dans mon appli, j'ai un objet persistant MemberDAO. Ce dernier possède une relation one-ton-one vers un objet persistant AccessDAO. AccessDAO à une relation one-to-many vers des objets persistant GroupDAO (correspondant aux différents groupes auxquels est associé le membre).

Lorsque je recherche un membre, je ne veux pas récupérer sa liste de groupes à chaque fois. J'ai donc mis la collection de groupDAO en lazy="true" dans le fichier de mapping access.hbm.xml.

Le problème c'est que dans une des pages d'administration, je souhaite afficher une combo affichant les rôles de l'utilisateur que j'édite...

Pour ce faire, j'utilise la méthode suivante pour récupérer mon membre:
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
 
    public MemberDAO findMemberByLogin(String login) {
 
        MemberDAO memberDAO = null;
 
        try {
 
            Session session = HibernateHelper.currentSession();
 
            // Query creation
            Query query = session
                    .createQuery("from MemberDAO as memberDAO where memberDAO.access.login = :login");
            query.setParameter("login", login);
 
            // Loading object
            memberDAO = (MemberDAO) query.uniqueResult();
        } catch (Exception e) {
            logger.logError("Erreur de requte", e);
        } finally {
            HibernateHelper.closeSession();
        }
        return memberDAO;
    }
Le soucis c'est que mon membre n'a pas sa liste de groupes initialisée
Dans Hibernate 2, on pouvait initialiser une collection à la demande (dans une session) en faisant un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Hibernate.initialize(dao.saList);
Ma question est simplement la suivante:
Dans hibernate 3, comment fait on pour initialiser une collection dans une session et travailler ensuite dessus dans un mode déconnecté??

Merci d'avance