Estou usando Criteria para realizar buscas com paginacao…
ate aí tudo bem…
funciona tudo blz…
mas o problema é… como fazer um SELECT COUNT(*) de uma criteria???
preciso saber o count para saber o número total de páginas da consulta… já tentei de tudoo…
alguem aí pode ajudar???
Hibernate + paginação
6 Respostas
Para fazer um count, avg, sun, wtf, use Projections:
public int count() {
Criteria c = session.createCriteria(SuaEntidade.class);
c.setProjection(Projections.rowCount());
return (Integer) c.uniqueResult();
}Blz? Flw!
porra cara… como é simples…
vc tem algum material mais completo sobre o hibernate…
pq em todo o material que tenho aqui… n ao encontrei isso!
Valew mesmo!
porra cara… como é simples…
vc tem algum material mais completo sobre o hibernate…
pq em todo o material que tenho aqui… n ao encontrei isso!
Valew mesmo!
Nossa…
Eu não sabia dessa… e na preguiça de procurar mais acabei fazendo assim:
public int getRowCount(Class<?> clazz) {
Query q = s.createQuery("select count(*) from " + clazz.getName());
return ((Long) q.uniqueResult()).intValue();
}
assim eu até poderia ter feito… mas o que me interessava mesmo era fazer um count de uma criteria ja com algumas Restrictions…
Material completo sobre hibernate:
http://www.hibernate.org/hib_docs/v3/reference/en/html/index.html
Blz? Flw!