Bonjour,
J'ai un petit problème avec une requête HQL et je n'arrive pas bien à comprendre d'ou ça vient:
Le problème est qu'un ProfilVoie pour lequel le champs dispositifDeRetenueGauche ou dispositifDeRetenueDroit est null (et même si l'autre dispositif répond au critère) ne sera pas renvoyé dans la liste des résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 executeHqlQuery("SELECT DISTINCT profilVoie.id FROM ProfilVoie profilVoie WHERE profilVoie.dispositifDeRetenueGauche.hauteur>5 OR profilVoie.dispositifDeRetenueDroit.hauteur>5");
J'ai essayé quelques trucs comme ajouter une condition de non nullité avant de tester la hauteur mais ca n'a rien changé, la seule solution que j'ai trouvé c'est de faire ça avec des requêtes imbriquées:
C'est pas vraiment gênant comme solution mais ça ajoute quand même pas mal de code, c'est moins optimisé, et j'aimerais bien comprendre le problème de la première requête aussi en fait vu que le cas n'est pas si rare.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 executeHqlQuery("SELECT DISTINCT profilVoie.id FROM ProfilVoie profilVoie WHERE profilVoie.id IN (SELECT DISTINCT profilVoie.id FROM ProfilVoie profilVoie WHERE profilVoie.dispositifDeRetenueGauche.hauteur>5) OR profilVoie.id IN (SELECT DISTINCT profilVoie.id FROM ProfilVoie profilVoie WHERE profilVoie.dispositifDeRetenueDroit.hauteur>5)");
Voila merci d'avance.
Laurent.
Partager