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

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>
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
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(?) 
              )
              .....
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é ...

merci d'avance pour toute piste