Bonjour,
dans le cadre du développement d'un application J2EE utilisant Spring 2.0 et Hibernate 3.1, j'ai un problème au niveau des beans.
Je m'explique, un de mes beans permet d'afficher les données d'un processus sous la forme d'un arbre (utilisation de icefaces). Un processus contient une collection d'objets qui eux mêmes contiennent des collections objets. J'ai défini le chargement des collections en lazy=true dans le mapping Hibernate.
Le problème est que quand le bean responsable de la construction de l'arbre appelle le service transactionnel pour le rapatriement des données, seul les objets de la collection du processus sont chargés et quand la construction du premier niveau de l'arbre est terminée et que le bean demande les informations sur les collections en lazy à true, la synchronisation avec la session hibernate initiale est perdue.
Je laisse Spring gérer les sessions de chaque transaction en automatique.
Je viens de lire pas mal de documents sur la notion de attachement/détachement d'objets persistants mais les exemples ne sont pas très clairs et ne prennent pas en compte une architecture Spring/Hibernate.
Ou dois-je faire mes attachements ? Au niveau des DAOs, dans les beans ?
Les détachements se font-ils tous seuls à la fermeture de la transaction ou dois-je les gérer moi même ? Avez vous des liens pertinents sur ces notions ?
D'avance merci ....
|