alors soit on parle pas la meme langue soit j'ai vraimentdu mal a me faire comprendre
avec hibernante, peut importe la requete que tu a utilisé pour récupérer un objet "Personne", quand tu fera personne.getEvenements() (ce que fait ton jsp via les boucle for) tu aura toujours la même liste d'évènement. autrement dit, que je fasse:
SELECT p From Personne AS p left join fetch p.evenements AS e left join fetch e.animateurs a WHERE a.idAnim = '11'
qui te retourne la Personne 111
ou que tu fasse
SELECT p From Personne AS p where p.id=111
qui te retourne aussi la Personne 111
ou encore
SELECT p From Personne AS p left join fetch p.evenements AS e left join fetch e.animateurs a WHERE a.idAnim = '22'
qui te retourne aussi la personne 111
quand tu fera personne.getEvenements() tu aura toujours la même liste d'évènements, quel que soit le nombre d'évènements retournés par la requete HQL initiale puisque, c'est là la magie d'hibernate, tes collections sont indépendante de la requete initiale et il va remplir correctement avec les selects nécessaire la List<Evenement> (ou le Set ou le Bag peu importe ce que tu as choisi) au moment opportun, pour que justement cette liste soit complète et reflète la base de donnée, non ta requete HQL initiale.
Et si c'est pas le cas, c'est que t'as fait une bidouille quelque part dont je suis pas au courant, ou que t'as un sérieux problème avec ton mapping quelque part.
Partager