bonjour, j'ai un petit problème avec hibernate et l'interprétation qu'il fait de mon ordre HSQL en ce qui concerne les parenthèses, en effet il ne se soucie pas des regroupements que je fais dans mon ordre hsql.
j'ai du code de ce type dans le fichier de mapping
et il me le convertit comme suit dans la log hibernate ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <query name="Dep _findByHeureDateLieu"> select new list(deplacement) FROM Deplacement AS deplacement WHERE deplacement.dateHeureDepartAller >= :dateHeureDepartAller AND deplacement.dateHeureArriveeAller <= :dateHeureArriveeAller and ((deplacement.itineraireAller is null or ( deplacement.itineraireRetour is not null and upper(deplacement.itineraireRetour.lieuArrive) LIKE upper(:lieuArrive) )) ) order by deplacement.dateHeureDepartAller desc </query>
en fait il met tout à la suite dans le where ce qui fait que mes conditions OR se retrouve enchainé avec les conditions AND et ne retourne pas bien entendu le resultat escompté ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 inner join ... WHERE ( deplacement.dateHeureDepartAller >= ? ) AND ( deplacement.dateHeureArriveeAller <= ? ) and ( deplacement.itineraireAller is null ) OR ( deplacement.itineraireRetour is not null ) AND ( upper(deplacement.itineraireRetour.lieuArrive) LIKE upper(?) ) .....
merci d'avance pour toute piste
Partager