我有经纬度的实体,我想选择最接近给定点的实体。
我发现这个例子看起来可行
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
任何人都知道如何编写这样的查询,或者可能是另一种更好的方法?
谢谢!/奥斯卡