私は冬眠するのが初めてで、基準を使用しようとしています。私は2つのテーブル、つまり主外部キーが実際に存在するテーブルから結果を取得することに固執しました。
Carpooler と SourceToDestinationDetails DTO があります。ユーザー検索データに基づいて、SourceToDestinationDetails を含む Carpooler オブジェクトを埋めたいのですが、取得できず、Criteria API を使用してそれを行う方法がわかりません。
public class Carpooler implements Serializable{
private long carpoolerId;
private String drivingLicenceNumber=null;
private String userType=null;![enter image description here][1]
private User user=null;
private List<VehicleDetails> listOfVehicleDetails=null;
private List<SourceToDestinationDetails> listOfSourceToDestinationDetails=null;
private Date carpoolerCreationDate;
}
public class SourceToDestinationDetails implements Serializable{
private static final long serialVersionUID = -7158985673279885525L;
private long sourceToDestinationId;
private String sourcePlace=null;
private String destinationPlace=null;
private String inBetweenPlaces=null;
private String sourceLeavingTime=null;
}
これは私が書いたものです、
Criteria criteria1 = getSession().createCriteria(SourceToDestinationDetails.class);
criteria1.add(Restrictions.like("sourcePlace", "%" + from + "%"));
criteria1.add(Restrictions.like("destinationPlace", "%" + to + "%"));
List<SourceToDestinationDetails> listOfExactMatchCarpooler = criteria1.list();
上記の Criteria API を使用して、SourceToDestinationDetails DTO レコードのみを取得していますが、Carpooler レコードも必要になりました。SourceToDestinationDetails テーブルで一致する Carpooler_id の Carpooler レコードを取得する方法がわかりません。
つまり、ユーザーが与える場合、
String from = "Bellandur";
String to = "Silk Board";
結果はList<Carpooler>
、一致するすべての SourceToDestinationDetails リストを内部に含むオブジェクトである必要があります。