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