Bom, estou numa aplicação com HIbernate, e preciso dar um count numa tabela.
Achei alguns tutoriais na net mas nenhum deu certo ainda … por exemplo
public int getCount() {
Criteria criteria = HibernateUtil.getSession().createCriteria(Parcela.class);
criteria.setProjection(Projection.rowCount());
return (Integer) criteria.uniqueResult();
}
Do jeito que está aí em cima, o rowCount() fica sublinhado (The method rowCount() is undefined for the type Projection), estou com algum problema nessa classe Projections, alguém sabe como contornar isso ?
o arquivo inteiro:
package br.com.fastway.cobranca.hibernatedao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.classic.Session;
import org.hibernate.criterion.*;
import br.com.fastway.cobranca.domain.Cartao;
import br.com.fastway.cobranca.domain.Parcela;
import br.com.fastway.common.*;
public class ParcelaDAO {
//CRIAR
public boolean create(Parcela parcela) {
HibernateUtil.getSession().save(parcela);
return true;
}
//PESQUISAR
public List<Parcela> getById(int id) {
@SuppressWarnings("unchecked")
List<Parcela> lista = HibernateUtil.getSession().createQuery("from Parcela where id_venda = '"+id+"' order by id").list();
return lista;
}
public List<Parcela> getByIdCartao(int id) {
@SuppressWarnings("unchecked")
List<Parcela> lista = HibernateUtil.getSession().createQuery("from Parcela where id_cartao = '"+id+"' order by id").list();
return lista;
}
public List<Parcela> getByFiltro(String query) {
@SuppressWarnings("unchecked")
List<Parcela> lista = HibernateUtil.getSession().createQuery("from Parcela "+query).list();
return lista;
}
public int getCount() {
Criteria criteria = HibernateUtil.getSession().createCriteria(Parcela.class);
criteria.setProjection(Projection.rowCount());
return (Integer) criteria.uniqueResult();
}
//ALTERAR
public boolean update(Parcela parcela) {
boolean status = false;
HibernateUtil.getSession().update(parcela);
status = true;
return status;
}
}