Bonjour,
Comment traduirez-vous en HQL la requête SQL ci-dessous ?
Avec :
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);
- 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.
Avec :
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);
- 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
Partager