【发布时间】:2017-09-04 18:30:40
【问题描述】:
我有以下查询,我得到了一个数据类型为 Double 的列表。 在此查询中,我将特定位置的经度和纬度以及距离作为参数。 使用“距离”参数,我可以选择不同位置之间的范围。
我现在的问题是,我想获得一个完整的“城市”——我的结果列表中的对象,而不仅仅是一个来自不同距离的列表(双精度)。 我应该如何修改我从我的实体“城市”获得了一个列表,而不仅仅是浮动?
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;
}
非常感谢大家的帮助
【问题讨论】: