Jak odpytywać dane po wyjęciu z pudełka za pomocą Spring data JPA zarówno przez sortowanie, jak i przeglądanie?
Próbuję Spring data JPA w moim projekcie. Chcę wiedzieć, czy istnieje gotowe API do odpytywania danych, zarówno przez Sort
, jak i Pageable
. Oczywiście, wiem, że sam mogę napisać tę metodę, chcę tylko wiedzieć, czy jest jakaś nieaktualna. Mój Dao rozszerza JpaRepository
i znalazłem następujące metody, które mogę wywołać:
findAll();
findAll(Pageable pageable);
findAll(Sort sort);
Ale nie ma takiej metody jak findAll(Sort sort, Pageable pageable)
, więc jestem ciekawa.
67
Author: Stefan van den Akker, 2012-05-10
2 answers
Są dwa sposoby, aby to osiągnąć:
final PageRequest page1 = new PageRequest(
0, 20, Direction.ASC, "lastName", "salary"
);
final PageRequest page2 = new PageRequest(
0, 20, new Sort(
new Order(Direction.ASC, "lastName"),
new Order(Direction.DESC, "salary")
)
);
dao.findAll(page1);
Jak widać druga forma jest bardziej elastyczna, ponieważ pozwala zdefiniować inny kierunek dla każdej właściwości (lastName ASC, salary DESC
).
144
Author: Tomasz Nurkiewicz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-10 06:19:17
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-10 06:19:17
Pageable ma również możliwość określenia sortowania. Z java doc
PageRequest(int page, int size, Sort.Direction direction, String... properties)
Tworzy nowy PageRequest z zastosowanymi parametrami sortowania.
13
Author: gkamal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-10 20:00:00
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-10 20:00:00