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;
}

我在这里放错了经度和纬度,所以当我向数据库中插入内容时,经度和纬度交换位置。这就是为什么我没有得到任何结果。抱歉!