web-dev-qa-db-fra.com

Comment obtenir tous les résultats sur une seule page à l'aide de la pagination des données Spring

Je veux obtenir tous les résultats sur une seule page, j'ai essayé avec

Pageable p = new PageRequest(1, Integer.MAX_VALUE);
return customerRepository.findAll(p);

Ci-dessus ne fonctionne pas, existe-t-il des méthodes pour y parvenir? Il semble que cela ne puisse pas être obtenu à partir d'une requête personnalisée comme demandé ici .

14
Ruwanka Madhushan

Votre demande de page est incorrecte car vous recherchez des résultats sur la mauvaise page. CA devrait etre:

new PageRequest(0, Integer.MAX_VALUE);

La première page des résultats est 0. Puisque vous retournez tous les enregistrements, ils sont tous sur cette page.

28
Branislav Lazic

La manière la plus correcte consiste à utiliser Pageable.unpaged ()

Pageable wholePage = Pageable.unpaged();
return customerRepository.findAll(wholePage);
19
chekmare

Si vous passez null pour Pageable, Spring l'ignorera et apportera toutes les données.

Pageable p = null;
return customerRepository.findAll(p);
5
Karthik Bose

À partir de [email protected], la syntaxe correcte est PageRequest.of(0, Integer.MAX_VALUE). Vous pouvez regarder ici

2
radbrawler