Tengo una combinación de criterios de búsqueda que se implementó mediante el uso de criterios de hibernación. Y añadí una paginación de la siguiente manera:recuento (*) en criterios de hibernación?
criteria.setFirstResult(offset).setMaxResults(pageSize).setFetchSize(pageSize).list();
esto no es suficiente para una paginación, así que tengo contar el tamaño total del resultado.
totalResult = (Integer)criteria.setProjection(Projections.rowCount()).uniqueResult();
El problema es que, la primera vez que envío el formulario de búsqueda, obtuve el totalResult correcto. Cuando hago clic en la página siguiente y el desplazamiento cambia, obtengo una NullPointExcetion en la segunda instrucción. No sé por qué. Y a través de la depuración, puedo ver cuándo se produce esta excepción, la primera declaración devuelve con éxito los resultados paginados.
Así que quiero preguntar, ¿la primera declaración entra en conflicto con la segunda? (porque la primera declaración establece fetchsize en 10, y me pregunto si la función count (*) funcionará correctamente. son tareas diferentes con los mismos criterios, ¿cómo puedo clonar o copiar un criterio que ya tiene numerosas restricciones agregadas?)
Gracias, en realidad mi solución es exactamente lo mismo con sus respuestas. Funciona ! – Sawyer