Bonjour,

Cette requête SQL s'exécute en 1 seconde dans ma base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
select p.*
from PRODUIT p, MARCHE_PRODUIT mp
where p.id_produit = mp.id_produit
and mp.id_marche=1
and p.id_constructeur=12;
Je veux faire la même en HQL, mais elle dure 15 secondes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
String requete = "from Produit p" 	
          +" where "+marche+" in elements(p.marches)"
          +" and p.constructeur.id in (:idConstructeurs)";
 
Query query = session.createQuery(requete)
                       .setParameterList("idConstructeurs", idConstructeurs);
Pourquoi cette différence ? Ai-je fait une erreur ?
Merci