2015-09-09 3 views
0

В приложении My Spring MVC я использую spring-data-jpa с базой данных MySql. Для таблицы данных, пытающейся реализовать разбиение на страницы.spring-data-jpa pagination returing null values ​​на третьей странице

Как этот enter image description here

На столе есть 191 записей, и 'Идентификатор' является первичным ключом - значение, начиная с 10, 11, 12 ---- 199, 200.

На каждой странице есть записей.

следующий код, который я использую, чтобы получить только 10 записей из таблицы.

Pageable pageable = new PageRequest(firstResult, maxResults); 
Page<User> findAll2 = repository.findAll(pageable); 

Для Страницы 1 -> firstResult = и maxResults = 10 выгружаемых выгружаемый = новый PageRequest (1, 10);
Здесь я получаю 10 записей, то идентификатор 20 до 29 Но я ожидал от 10 до 19

Для Page 2 -> firstResult = и maxResults = 10 выгружаемых выгружаемого = новые PageRequest (11, 10);
Здесь я получаю 10 записей, id от 120 до 129 Что касается других записей.

Теперь Для Page 3 -> firstResult = и maxResults = 10 выгружаемых выгружаемый = новый PageRequest (21, 10);
Здесь я НЕ получаю запись. enter image description here

  All values are null.Not sure what I am missing.please help me on this. 

ответ

1

Первое число является page не firstResult. Таким образом, вы должны начать с

Pageable pageable = new PageRequest(0, 10); 

Тогда:

Pageable pageable = new PageRequest(1, 10); 

И так далее.

Когда вы говорите

Pageable pageable = new PageRequest(21, 10); 

Вы просите стр.21, что у вас нет, поэтому она возвращает нуль.

+0

Спасибо Крис, да, первым параметром должен быть номер страницы, 0,1,2,3 ... – Manu