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和距离可以“改善” ,并从表本身获取长/纬度值,通过编号... –