Bonjour,
voici mon jeu d'essai :
résultat attendu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
extrait du Mapping :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 List<Livre> : livre1.emprunts : [Emprunt1] livre2.emprunts : null
livre.hbm.xml :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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) :
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 from Livre l left join fetch l.emprunts e where to_char(e.dateDebut,'YYYYMMDD') = '20100101'
Une idée ?
merci d'avance !
Partager