Left Join Fetch + Critère
Bonjour,
voici mon jeu d'essai :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Table Livre (id, titre)
Table Emprunts (id, LIVRE_ID, dateDebut, dateFin)
Livre
1,'boule et bill'
2,'les misérables'
Emprunts
1,1,01/01/2010, 12/01/2010
2,1,13/01/2010, 24/01/2010
3,1,25/01/2010, 29/01/2010 |
résultat attendu :
Code:
1 2 3
| List<Livre> :
livre1.emprunts : [Emprunt1]
livre2.emprunts : null |
extrait du Mapping :
livre.hbm.xml :
Code:
1 2 3 4 5 6
| <set name="emprunts" inverse="true" lazy="false">
<key>
<column name="LIVRE_ID" precision="22" scale="0" />
</key>
<one-to-many class="fr.foo.bar.entite.Emprunt" />
</set> |
emprunt.hbm.xml : rien concernant le livre puisque pas besoin, dans le projet d'avoir une référence. On utilise toujours un emprunt via son objet Livre
Je souhaite récupérer les livres et leur emprunts commencés le 01/01/2010
Je souhaite récupérer tous les livres (même ceux n'ayant jamais eu d'emprunt ou pas d'emprunts le 01/01/2010)
J'ai donc tenté la requête suivante (dans mon fichier hbm.xml) :
Code:
1 2 3
| from Livre l
left join fetch l.emprunts e
where to_char(e.dateDebut,'YYYYMMDD') = '20100101' |
Cette requête fonctionne bien, mais elle ne me renvoie QUE les livres et leurs emprunts commencés le 01/01/2010, elle ne renvoit pas les autres livres sans emprunts...
Une idée ?
merci d'avance !