Bonjour,

Comment traduirez-vous en HQL la requête SQL ci-dessous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
select a.* from A a, AB ab
where a.id = ab.id
and ab.id_b = 1
and a.id_c in (12, 13, 14);
Avec :
- AB une table de jointure entre A et B
- a.id_c une clé étrangère pointant vers la table C

J'ai essayé la requête suivante, elle fonctionne mais met plus de 10 secondes à s'exécuter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
String requete = "from A a" 
	+" where "+b+" in elements(a.b)"
	+" and a.c.id in (:listC)";
 
Query query = session.createQuery(requete)
             .setParameterList("idC", idC);
Avec :
- a.b une collection de type B
- a.c un objet de type C

Qu'est-ce qui ne va pas dans cette requête ?
Merci