我有一個簡單的REST服務,它使用Spring引導CrudRepository
訪問數據。使用Spring引導過濾數據CrudRepository
這個倉庫已經實現分頁和排序功能是這樣的:
public interface FlightRepository extends CrudRepository<Flight, Long> {
List<Flight> findAll(Pageable pageable);
}
調用它:
Sort sort = new Sort(direction, ordering);
PageRequest page = new PageRequest(xoffset, xbase, sort);
return flightRepo.findAll(page);
我想還可以添加過濾這個倉庫(例如僅返回實體id > 13 AND id < 27
)。 CrudRepository似乎不支持這個功能。有什麼方法可以實現這一點,還是我需要使用不同的方法?
感謝您的任何提示!
這可以結合Pageable嗎?我希望我可以在某個對象中指定它並將它傳遞給函數。當需要一些靈活性時(用戶可以指定要過濾的自定義字段,並且我將不得不爲每個可能的組合指定一個像這樣的函數...) – Smajl
是的,您可以簡單地使用'List findByIdBetween(Long start ,長結束,可分頁)' –
pezetem
也建議您將擴展接口更改爲'PagingAndSortingRepository' .. –