Olá a todos!
Estou utilizando paginação no postgresql (limit, offset)…
Tem alguma forma de obter o total de registros na mesma execução?
OBS: O total que refiro seria o total de registros que a select traria, caso fossem retirados (limit e offset).
Tentei localizar alguma propriedade do Statement ou ResultSet, mas, sem sucesso…
[]s
Que eu saiba, não.
Apenas com um count mesmo.
O size da lita de retorno ajudaria?
fallow
[quote=paulo1911]O size da lita de retorno ajudaria?
fallow[/quote]Mas se a consulta é paginada, a lista não teria o mesmo numero de itens que a paginação?
depende.
Isso ocorre muito na ultima página de registros por exemplo:
eu tenho 100 registros na base
meu pageSize é de 30
sendo assim eu tenho 3 páginas de 30 e uma de 10 registros certo?
Eu posso ter um pageSize de 100 mas se no intervalo eu tiver somente 10 registros nessa pagina o size dessa paginação será o tamanho 10.
fica a dica
[quote=paulo1911]depende.
Isso ocorre muito na ultima página de registros por exemplo:
eu tenho 100 registros na base
meu pageSize é de 30
sendo assim eu tenho 3 páginas de 30 e uma de 10 registros certo?
Eu posso ter um pageSize de 100 mas se no intervalo eu tiver somente 10 registros nessa pagina o size dessa paginação será o tamanho 10.
fica a dica
[/quote]-_-’’ isso aí é matemática que funciona apenas para a ultima página, ou seja, apenas por isso nem precisava abrir o post.
Se for isso que ele queria… na boa, não respondo mais nada hoje. MAuhaha
Pois é, acredito que seja isso que ele precisa.
Paginação não tem segredo.
abç
[quote=paulo1911]Pois é, acredito que seja isso que ele precisa.
Paginação não tem segredo.
abç[/quote]Mas se for na primeira página, como faria do modo como você falou?
Veja:
public List<UserBean> findAllPaginado(Integer page, Integer pageSize) {
Criteria criteria = createCriteria();
criteria.addOrder(Order.asc("name"));
criteria.setFirstResult((page - 1) * pageSize);
criteria.setMaxResults(pageSize);
List<UserBean> toReturn = (List<UserBean>) criteria.list();
toReturn.size();// Aqui eu sei quantos registro vieram na página, simples assim!
return toReturn;
}
Isso também vale para ResultSet, HQL e NativeQuery…
fica a dica
[quote=paulo1911]Veja:
public List<UserBean> findAllPaginado(Integer page, Integer pageSize) {
Criteria criteria = createCriteria();
criteria.addOrder(Order.asc("name"));
criteria.setFirstResult((page - 1) * pageSize);
criteria.setMaxResults(pageSize);
List<UserBean> toReturn = (List<UserBean>) criteria.list();
toReturn.size();// Aqui eu sei quantos registro vieram na página, simples assim!
return toReturn;
}
Isso também vale para ResultSet, HQL e NativeQuery…
fica a dica[/quote]Então eu entendi errado. Achei que ele queria o total encontrado na tabela. ^^
Acho que você entendeu certo.
Do post original:
Foi para isso que eu respondi.