Bonjour,

J'ai une table 'geoloc' mapper à une classe 'Geoloc' qui contient des points géocoder (latitude, longitude et d'autres infos) et je souhaite récupérer les points situer dans un certain rayon d'un point et le tout trié du plus proche au plus éloigné.

J'ai donc tenté cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT
   g,
   (acos(sin(radians(:latitude)) * sin(radians(g.latitude)) + ...)) AS distance
FROM Geoloc g
WHERE distance < :distanceMax
ORDER BY distance
Mais cela me génère une exception 'net.sf.hibernate.QueryException: aggregate function expected before ( in SELECT [select g, (acos(...'

Je voudrai donc savoir s'il y a un moyen de stocker une valeur (dans mon cas 'distance') pour être utilisée dans la requête? J'ai chercher dans la doc d'hibernate mais celle ci étant assez grosse, je n'ai pas trouvé.

J'utilise Hibernate 2.

Merci