Group by com HQL (Hibernate)

Estou fazendo uma query onde faço um group by utilizando um objeto.
Testanto isso no console (Hiber8IDE) funciona maravilha, mas, quando jogo na minha aplicação, dá erro.

Tentei assim: session.createQuery(hql) e session.find(hql) e o mesmo erro.

Enfim a pergunta:
GROUP BY com objeto funciona ou não no HQL?

Posta o erro.

E sim, funciona normalmente.

Olá

Eu tive o mesmo problema com o GROUP BY.

SQL que estou executando:

select b, c, a.dataVenda, sum(a.valorVenda) from VendaDepartamentoDiaria as a , Filial as b , Departamento as c where a.filial = b and a.departamento = c and a.filial.codigo = ? and a.dataVenda >= ? and a.dataVenda <= ? group by b, c, a.dataVenda

Erro que retorna:

column “filial1_.dcr_fantasia” must appear in the GROUP BY clause or be used in an aggregate function

Minha classe Filial tem os atributos:
codigo;
fantasia;

Minha classe Departamento tem os atributos:
codigo;
descricao;

Minha classe VendaDepartamentoDiaria tem os atributos:
filial;
departamento;
dataVenda;
valorVenda;

Alguém pode me ajudar?

Vlw

A qual atributo a coluna ‘filial1_.dcr_fantasia’ pertence?

O proprio pessoal do hibernate nao acha muito feliz usar HQL
Portanto… nao use hql
O que adianta voce tirar sql e aprender outr alinguagem?
Use Expression e Criteria… muito melhor, muito mais OO e muito mais limpo, sem contar que nao vai ter que fazer if para concatenar string nunca mais

(ps: no hibernate 3 mudou o nome de expression)

Como vc faria um group by utilizando a criteria?

Só no Hibernate3
http://www.hibernate.org/hib_docs/v3/reference/en/html/querycriteria.html
parte de “Projections”

Muito tempo depois :slight_smile: , depois de penar, volto a questionar?

Porque que o hibernate coloca apenas os campos da chave primária no sql gerado se no select ele coloca todos os campos?