我想从两个表的预订表和路线表中提取数据。 Bookings表包含一个外键route_id。我想做的是从预订表中获取假脱机信息,但还要根据外键(即路线表上的主键)从路线表中获取出发时间和出发日期。
我尝试了以下方法:
@Entity
public class bookings {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Nullable
private String email;
private String amount;
private String phoneId;
private Timestamp dateCreated;
private int state;
/* Bokkings state will have 3 states 1 => pending, 2 => booked and 3 => used*/
@ManyToOne
private routes routes;
}
路线实体:
@Entity
public class routes {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
private busStations busStations;
private String destination;
private String price;
private String departureTime; // So same routes but different depature times
private Date departureDate; // So same routes but different depature dates
private Timestamp dateCreated;
@Nullable
private String dateModified;
}
我在Crud Repo界面中输入了以下内容
public interface bookingsRepository extends CrudRepository<bookings,
Integer> {
List<bookings> findByRoutesDepartureDateAndState(Date date, int state);
}
我遇到的问题是我无法使用在Crud接口中编写的查询从表中提取值。我知道查询是错误的,但我不知道如何解决。
答案 0 :(得分:0)
我认为您可以将接口与findByStateAndRoutesDepartureDate(int state,Date离开日期)方法名称一起使用... 无论如何,我认为使用JPA规范是实现这种查询的更好方法。