JPQL 查询使用 BETWEEN 运算符不产生任何结果
JPQL Query yields no results using BETWEEN operator
使用此方法时:
public static List<Image> listImages(double longitude, double latitude) {
Query q = em.createQuery("select e from Image as e where e.long_ between "
+(longitude - 0.1)+" and "+(longitude + 0.1)+ " and e.lat between "+(latitude-0.1)+" and "+(latitude+0.1)+" order by e.id desc");
@SuppressWarnings("unchecked")
List<Image> imageList = q.getResultList();
System.out.println("Size: " + imageList.size());
return imageList;
}
imageList 返回为空,imageList.size() returning 0。
即使查询应该 return 基于查询,我的数据库中至少有几行。
我不确定该怎么做,因为我没有收到任何错误。它只是空着回来。如果我需要提供其他信息,请告诉我!
我刚刚意识到出了什么问题。只是我搞砸了。
public Image(String url, double longitude, double latitude, Time time) {
this.url = url;
this.lat = latitude;
this.long_ = longitude;
this.moment = time;
}
我在这里放错了经度和纬度,所以当我向数据库中插入内容时,经度和纬度交换位置。这就是为什么我没有得到任何结果。抱歉!
使用此方法时:
public static List<Image> listImages(double longitude, double latitude) {
Query q = em.createQuery("select e from Image as e where e.long_ between "
+(longitude - 0.1)+" and "+(longitude + 0.1)+ " and e.lat between "+(latitude-0.1)+" and "+(latitude+0.1)+" order by e.id desc");
@SuppressWarnings("unchecked")
List<Image> imageList = q.getResultList();
System.out.println("Size: " + imageList.size());
return imageList;
}
imageList 返回为空,imageList.size() returning 0。 即使查询应该 return 基于查询,我的数据库中至少有几行。
我不确定该怎么做,因为我没有收到任何错误。它只是空着回来。如果我需要提供其他信息,请告诉我!
我刚刚意识到出了什么问题。只是我搞砸了。
public Image(String url, double longitude, double latitude, Time time) {
this.url = url;
this.lat = latitude;
this.long_ = longitude;
this.moment = time;
}
我在这里放错了经度和纬度,所以当我向数据库中插入内容时,经度和纬度交换位置。这就是为什么我没有得到任何结果。抱歉!