0
Ride
とRide Location
の2つのテーブルがあります。Javaの再生エイビッドファインダーがクエリよりも大きいデータを返す
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;
}
RideLocation.java
@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();
これは、データが `locationName 'に等しいことを返します。 日付が指定された日付よりも小さい場合でも、データが返されます。どうすればこの問題を解決できますか?
'RideLocation'のようなデータベーススキーマは何ですか? –