JPA存储库中的多日期查询



我有一个在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

相关内容

  • 没有找到相关文章

最新更新