Bonjour,
J'ai 3 entities (Ecriture, Mouvement et Commentaire) qui sont liées comme suit :
- Un mouvement contient plusieurs écritures (relation bidirectionnelle)
- Un mouvement contient plusieurs commentaires (relation unidirectionnelle)
Je dois faire une requête sur les écritures, mais qui récupère également le mouvement et ses commentaires (qui sont en lazy).
Imaginons que la requête doivent me retourner 2 écritures faisant partie du même mouvement et ce mouvement n'a qu'un seul commentaire. Mon problème est que je récupère bien 2 écritures, 1 seul mouvement, mais mon commentaire a été dupliqué. Si c'était un mouvement à 5 écritures, j'aurais eu 5 fois le même commentaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FROM Ecriture e JOIN FETCH e.mouvement m LEFT JOIN FETCH m.commentaires WHERE m.dossier = :dossier AND m.journal.id IN (:idJournal1) ORDER BY m.annee, m.periode, m.chrono, e.ligne
Est-ce que quelqu'un sait où est l'erreur ?
Partager