[Resolvido]Hibernate Count

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