У меня есть объекты с широтой и долготой, и я хотел бы выбрать те из них, которые находятся ближе всего к данной точке.
Я нашел этот пример, который выглядит так, как будто он будет работать
SELECT *,
SQRT(POW((69.1 * (locations.latitude - 27.950898)) , 2 ) +
POW((53 * (locations.longitude - -82.461517)), 2)) AS distance
FROM locations
ORDER BY distance ASC
LIMIT 5
Но я бы предпочел сделать это с JPQL, поскольку у меня есть куча других объединений и т. Д., Которые проще выполнять в JPQL, а не в собственном запросе.
Когда я пытаюсь что-то подобное, JPA жалуется на токен SQRT.
SELECT DISTINCT p, SQRT(....) AS distance, FROM Place p .... ORDER BY distance ASC
Кто-нибудь знает, как написать запрос, подобный этому, или, может быть, другой лучший подход?
Спасибо!
/ Oskar