0
我有以下查詢,並獲得了數據類型爲Double的List。 在這個查詢中,我有一個特定的位置和距離作爲參數的經度和緯度。 隨着「距離」參數我可以選擇不同位置之間的範圍。HQL,SQL - 獲取整個對象(獲取距離)
我的問題是現在,我想要得到一個完整的「城市」 - 在我的結果列表中的對象,而不是從不同距離(雙)的列表。 我應該如何修改我從我的實體「城市」獲得一個列表,而不僅僅是花車?
public List<Double> findCityAroundSelectedCity(double longitude, double latitude, float distance) {
String queryString = "SELECT (6371 * acos (cos(radians(" + latitude
+ ")) * cos(radians(latitude)) * cos(radians(longitude) - radians(" + longitude + ")) + sin(radians("
+ latitude + ")) * sin(radians(latitude)))) AS distance FROM City c HAVING distance < " + distance
+ " ORDER BY distance";
Query query = entityManager.createNativeQuery(queryString);
List<Double> list = null;
list = query.getResultList();
return list;
}
非常感謝您的所有幫助
太謝謝你了!一個問題 - 我如何排除源城市? – CommanderHP
爲參數(方法和查詢)和'WHERE'子句中的'id <>:id'添加一些唯一的ID ... –
使用此唯一ID和距離可以「改善」 ,並從表本身獲取長/緯度值,通過編號... –