【发布时间】:2017-12-02 15:24:15
【问题描述】:
我有两张桌子。 :机场,航班时刻表。
它们之间有一对多的关系。
下面是休眠数据文件。
Airport.java:
public class Airport implements java.io.Serializable {
private Integer airportId;
private String airportName;
private String airportCountry;
private String airportCity;
private Set<FlightSchedule> depFlightSchedule = new HashSet<FlightSchedule>(0);
private Set<FlightSchedule> arrFlightSchedule = new HashSet<FlightSchedule>(0);
}
FlightSchedule.java:
public class FlightSchedule implements java.io.Serializable {
private Integer flightscheduleId;
private Date depDay;
private Date depTime;
private Date arrDay;
private Date arrTime;
private Double flightTime;
private Integer price;
private Set<BoardingPass> boardingPasses = new HashSet<BoardingPass>(0);
private Airplane airplane;
private Airport depAirport;
private Airport arrAirport;
}
在 FlightSchedule 中,它们必须与 Airport 有两个关系。因为他们需要“出发机场信息”和“到达机场信息”。
所以,如果我得到两个字符串输入(出发机场名称,到达机场名称),我想制作连接表(FlightSchedule X Airport)并打印所有信息。
例如,如果我有两个输入“韩国”和“澳大利亚”,那么我想打印关于离开韩国、到达澳大利亚的信息。
像这样! :
出发日期 |出发机场 |到达日期 |到达机场
2017-12-01 |仁川国际机场 | 2017-12-10 |悉尼国际机场
--出发日期,到达日期来自'FlightSchedule'表。
-- 出发机场名称,到达机场名称来自“机场”表。
其实我在mysql上试过这个:
SELECT * FROM flight_schedule as f
内联机场
on f.dep_airport_id=(select id from airport where airport.country='korea')
and f.arr_airport_id=(select id from airport where airport.country='Austrailia')
但这不是我想要的。
有什么解决办法吗?
【问题讨论】: