我有一個實體錦標賽如下:春天JPA的方法來找到實體beforeAndEqual日期和afterAndEqual日期
class Tournament {
//other attributes
private LocalDate startDate;
private LocalDate endDate;
}
這代表了幾天/數月運行一個比賽,從STARTDATE至ENDDATE。 我需要檢索今天運行的所有錦標賽,在這一刻,像startDate < =今天& & endDate> =今天,使用Spring JPA和分頁。
我發現的最接近是以下幾點:
@Repository
public interface TournamentRepository extends PagingAndSortingRepository<Tournament, Long> {
Page<Tournament> findByStartBeforeAndEndAfter(LocalDate date, LocalDate dateCopy, Pageable page); //today's date is passed as date and dateCopy
}
方法調用:
tournamentRepository.findByStartBeforeAndEndAfter(LocalDate.now(), LocalDate.now(), page);
這可以解釋爲的startDate <今天& &結束日期今天>,所以這是行不通的如果錦標賽今天運行並且僅運行1天。
有沒有更好的方法來使用Spring JPA做到這一點,而無需編寫自定義查詢?
您是否試過'findByStartDateLessThanEqualAndEndDateGreaterThanEqual'? [官方文檔](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation)闡明瞭「LessThanEqual」和「GreaterThanEqual」是支持的關鍵字。 – manish