У меня есть сочетание критериев поиска, которые реализуются с использованием критериев спящего режима. И я добавил пагинацию так:count (*) в спящем режиме?
criteria.setFirstResult(offset).setMaxResults(pageSize).setFetchSize(pageSize).list();
Это не достаточно для пагинации, так что я должен рассчитывать общий размер результата.
totalResult = (Integer)criteria.setProjection(Projections.rowCount()).uniqueResult();
Проблема в том, что в первый раз, когда я отправляю форму поиска, у меня есть правильный итог. Когда я нажимаю следующую страницу и меняет смещение, я получил второй экземпляр NullPointExcetion. Я не знаю почему. И через отладку я вижу, когда возникает это исключение, первый оператор успешно возвращает разбитые на страницы результаты.
Так что я хочу спросить, делает ли первое утверждение конфликт вторым? (потому что первый оператор устанавливает fetchsize в 10, и мне интересно, будет ли функция count (*) работать правильно. они разные задачи, используя одни и те же критерии. Как я могу клонировать или копировать один критерий, который уже имеет многочисленные ограничения?)
Спасибо, на самом деле мое решение точно так же с вашими ответами. Оно работает ! – Sawyer