使用Spring Data JPA获取两个日期之间的记录

问题描述 投票:0回答:2

在我的数据库中,有某个预订的开始日期和结束日期。我想获取某个开始日期和结束日期的预订记录。到目前为止,我在仓库中有这个,

List<Booking> findByPickupTimeAfterAndDropoffTimeBefore(Date startDate, Date endDate);

它什么也不返回,但是有一条记录,其中包含我在数据库查询中使用的日期。

NOTE:我在这里使用java.util.Date(忽略新的LocalDateTime包)

我在这里做错什么了?。还有什么其他方法可以获取我期望的数据?

mysql sql spring-boot jpa jpql
2个回答
0
投票

尝试此自定义查询:

@Query(value = "from Booking t where yourDate BETWEEN :startDate AND :endDate")
public List<Booking> getAllBetweenDates(@Param("startDate")Date startDate,@Param("endDate")Date endDate);

0
投票

您正将same日期传递给JPA方法,就像在数据库中一样,not期望返回数据,因为当日期相同时,日期不是before] >(或after)。

更改使用GreaterThanEqualLessThanEqual关键字的方法:

List<Booking> findByPickupTimeGreaterThanEqualAndDropoffTimeLessThanEqual(Date startDate, Date endDate);
© www.soinside.com 2019 - 2024. All rights reserved.