我有一个在Spring Data JPA中创建查询的问题。我想返回一个由AFTER Date1和BEFORE Date2的对象组成的List。
附加问题:如何让JPA返回单个列。例如,如果我想返回Reservation表的一列,而不是一个Reservation对象列表。
我希望我的查询等于:
SELECT * FROM reservation WHERE check_in_date >= '2022-12-18' AND check_out_date <= '2022-12-30';
我认为正确的方法名应该是:
public List<Reservation> findByCheckInDateAfterAndCheckOutDateBefore(Date checkIn, Date checkOut);
checkInDate/checkOutDate是Reservation对象中字段的名称。但是,它没有返回正确的值。
您想要>=
,但方法只有After
,缺少or equal
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/appendix.query.method.subject没有AfterThanEqual
可能GreaterThanEqual
工作与日期
或者你可以尝试使用否定public List<Reservation> findByCheckInDateNotBeforeAndCheckOutDateNotAfter(Date checkIn, Date checkOut);
还可以启用SQL日志,如下所示https://www.baeldung.com/sql-logging-spring-boot并验证执行的SQL