Ho un semplice servizio REST che accede ai dati con l'avvio a molla CrudRepository
.Filtraggio dei dati con avvio a molla CrudRepository
Questo repository implementa già impaginazione e funzionalità di ordinamento come questo:
public interface FlightRepository extends CrudRepository<Flight, Long> {
List<Flight> findAll(Pageable pageable);
}
Chiamarlo:
Sort sort = new Sort(direction, ordering);
PageRequest page = new PageRequest(xoffset, xbase, sort);
return flightRepo.findAll(page);
vorrei aggiungere anche il filtraggio a questo repository (ad esempio restituire solo soggetti con id > 13 AND id < 27
). Il CrudRepository non sembra supportare questa funzionalità. C'è un modo per ottenere questo o devo usare un approccio diverso?
Grazie per eventuali suggerimenti!
Questo potrebbe essere combinato con il paginabile? Speravo di poterlo specificare in qualche oggetto e passarlo alla funzione. Questo non è molto utile quando si desidera una certa flessibilità (l'utente può specificare un campo personalizzato per essere filtrato e dovrò specificare una funzione come questa per ogni combinazione possibile ...) – Smajl
sì, è possibile usare 'Lista findByIdBetween (Long start , Long-end, pageable pageable) ' –
pezetem
consiglia inoltre di modificare l'interfaccia estesa a' PagingAndSortingRepository' .. –