Estou tentando realizar uma consulta que em sql seria a seguinte
select funcionario, count(funcionario) as total from ligacoes
group by funcionario;
como faço essa simples query com criteria???
Alguma ajuda
Estou tentando realizar uma consulta que em sql seria a seguinte
select funcionario, count(funcionario) as total from ligacoes
group by funcionario;
como faço essa simples query com criteria???
Alguma ajuda
Pq criteria? Pq ñ um jpql/hql normal?
pq nunca mexi com hql hahaha
criteria não é possivel?
[quote=LucianoTulio]pq nunca mexi com hql hahaha
criteria não é possivel?
[/quote]Deve ser. Só não sei pq complicar…
Achei que fosse alguma limitação ou restrição.
Bem, boa sorte ae. [=
não tenho exp em hql, vc poderia me dar uma ajuda?
é uma simples query
quero retornar uma lista com o nome do funcionario e a quantidade de registros na tabela
exemplo
Funcionario Quantidade
João 5
José 3
Maria 51
contar quantos registro cada funcionários tem na tabela
[quote=LucianoTulio]não tenho exp em hql, vc poderia me dar uma ajuda?
é uma simples query
quero retornar uma lista com o nome do funcionario e a quantidade de registros na tabela
exemplo
Funcionario Quantidade
João 5
José 3
Maria 51
contar quantos registro cada funcionários tem na tabela [/quote]Aqui mostra como usar o COUNT: http://uaihebert.com/?p=1137
Tem também como criar uma classe específica para esse relatório, assim fica mais fácil de buscar o resultado.
Obrigado mas não seguindo o teu exemplo e sim a sua dica criei uma classe FuncionarioQuantidade que apenas possui nome e quantidade como atributos e utilizei criteria.
apenas tive q trabalhar com projections e manipulei o Object do resultado e adicionei numa List, segue o código.
@SuppressWarnings("unchecked")
public List<FuncionarioQuantidade> mostrar()
{
sessao = HibernateUtil.getSessionFactory().openSession();
try
{
Criteria cri = sessao.createCriteria(Ligacoes.class);
ProjectionList pr = Projections.projectionList();
pr.add(Projections.groupProperty("funcionario"));
pr.add(Projections.count("funcionario"));
cri.setProjection(pr);
List<FuncionarioQuantidade> funcionarioquantidade = new ArrayList<FuncionarioQuantidade>();
List<Object[]> ligs = cri.list();
for(Object o[]: ligs)
{
funcionarioquantidade.add(new FuncionarioQuantidade(o[0].toString(),Integer.valueOf(o[1].toString())));
}
return funcionarioquantidade;
}finally
{
sessao.close();
}
}
E funcionou