Group By com Hibernate

2 respostas
E

Bom dia pessoal.

Gostaria de povoar os dados de um gráfico com informações da minha consulta, o problema é que do jeito que peguei precisa que minha consulta seja agrupada por count(nmbairro) e listar cada bairro.

Tipo:

SELECT COUNT(IDBAIRRO) AS NRBAIRRO, NMBAIRRO FROM BAIRRO GROUP BY NMBAIRRO

O problema é que no código abaixo não sei como fazer este agrupamento pois estou aprendendo Hibernate e peguei um exemplo da net e estou tentando montar o meu.

Vejam:

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  
      
    List<PessoasEnderecoVO> pessoasEnderecoVO = new ArrayList(); /* Instancia a lista */  
      
    DefaultPieDataset pieDataset = new DefaultPieDataset();  
      
    try {  
        Session sess = HibernateUtil.getInstance().getSession();  
          
        Query query = sess.createQuery("from PessoasEndereco in class br.com.padrao.vo.PessoasEnderecoVO");  
          
        Iterator list = query.iterate();  
        PessoasEnderecoVO pessoasEndereco = null;  
        while (list.hasNext()) {  
            pessoasEndereco = (PessoasEnderecoVO) list.next();  
            String a = pessoasEndereco.getBairroId().getDsbairro();  
              
            pieDataset.setValue(a, new Integer(1));  
           // pieDataset.setValue(DESCRICAO DO CAMPO AGRUPADO, new Integer(CONTAGEM DO CAMPO AGRUPADO));  
              
              
        }  
          
        JFreeChart chart = ChartFactory.createPieChart("Gráfico de Pizza", // Title  
                pieDataset, // Dataset  
                true, // Show legend  
                true, // Use tooltips  
                false // Configure chart to generate URLs?  
                );  
        try {                  
            PiePlot P = (PiePlot) chart.getPlot();  
            ChartFrame frame = new ChartFrame("Pie Chart", chart);  
            frame.setVisible(true);  
            frame.setSize(900, 600);  
        } catch (Exception e) {  
            System.out.println("Ocorreu um problema ao executar JFreeChart" + e);  
        }  
          
    } catch (Exception e) {  
        System.out.println("lista papel: " + e);  
        //return (null);  
    }          
      
}

Gostaria que alguem me ajudasse e se possível me mostre como colocar critérios de consulta para que eu possa utilizar este exemplo com outros dados e tabelas.

2 Respostas

ErickRAR

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

Tem exemplos de uso para o Criteria e como fazer Group By.

E

Boa tarde.

Antes de postar aqui ja havia passado no site que você recomendou.

Confesso que não consegui resolver por lá.

Observando o código postado, tem alguma sugestão?

Criado 17 de setembro de 2012
Ultima resposta 17 de set. de 2012
Respostas 2
Participantes 2