Java play Ebean finder为大于查询返回错误数据

Java play Ebean finder为大于查询返回错误数据,java,playframework-2.0,ebean,Java,Playframework 2.0,Ebean,我有两个名为Ride和Ride Location的表 Ride.java @Entity public class Ride extends Model { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long rideId; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss z")

我有两个名为
Ride
Ride Location
的表

Ride.java

@Entity
public class Ride extends Model {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long rideId;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss z")
    private Date rideDate;

    @OneToMany(mappedBy = "ride", cascade = CascadeType.ALL)
    private List<RideLocation> rideLocations;
}
@Entity
public class RideLocation extends Model {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long rideLocationId;
    private String locationName;
    private float lat;
    private float lon;

    @JsonBackReference
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Ride ride;
}
我正在尝试获取
rideDate
大于或等于给定日期且“locationName”等于给定位置的所有游乐设施

List<RideLocation> list = Ebean.find(RideLocation.class).where().ge("ride.rideDate", "2017-09-13").and().like("locationName", "San Jose").findList();
List List=Ebean.find(RideLocation.class).where().ge(“ride.rideDate”,“2017-09-13”)和().like(“locationName”,“San Jose”).findList();

它返回的数据等于'locationName'即使是小于给定日期的日期,也会返回数据。如何解决此问题?

您只是试图将日期作为字符串处理,这样做不会得到您想要的结果。请尝试将字符串转换为日期,或者您也可以比较时间戳(取决于您在数据库中的存储方式)。

RideLocation的数据库架构是什么样的?