[RESOLVIDO] Problemas com o HQL e Order By

9 respostas
f2pro

Segue o código:

public List<Endereco> findClienteByEndereco(){
        EntityManager em = getEntityManager();

        try{
            Query q = em.createQuery("select object(o) from Endereco as o group by o.pessoa");
            return q.getResultList();
        }finally{
            em.close();
        }
}

e me retorna o seguinte erro

porque disso?

9 Respostas

A

só para entender, vc quer trazer uma lista de endereço? pelo retorno do seu método sim, mas qual a condição? pois se é apenas trazer os endereços, use:

Query q = em.createQuery("from Endereco");

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-from

Priuli

Se ñ me engano o hql do hibernate não aceita objetos na instrução group by, ele só aceita campos simples, (primitivos) da sua entidade. tenta usar o comando distinct, mais pode dar o mesmo problema… de uma pesquisada

G

De que tipo é o?

o.pessoa

tenta assim:

from Endereco obj group by obj.pessoa

Abraço

f2pro

gustavorozolin:
De que tipo é o?

o.pessoa

tenta assim:

from Endereco obj group by obj.pessoa

Abraço

pessoa é um objeto do tipo pessoa

todo o endereço está atrelado com uma pessoa… e eu gostaria de agrupar os endereços por pessoa

G

Uma pessoa pode ter varios endereços? se for isso vc vai ter que trazer uma lista de “pessoa” com seus respectivos endereços. É isso que você quer?

f2pro

gustavorozolin:
Uma pessoa pode ter varios endereços? se for isso vc vai ter que trazer uma lista de “pessoa” com seus respectivos endereços. É isso que você quer?

isso, uma pessoa pode ter vários endereços, eu precisaria retornar todos os endereços dessa pessoa, ou seja, 1 pessoa e todos os seus endereços…

G

hmm Dai é mais facil vc pode fazer assim.

na sua classe Pessoa vai ficar mais ou menus assim

@OneToMany( targetEntity=Endereco.class, mappedBy="pessoa")
	private List<Endereco> enderecos;

e na classe Endereco:

@ManyToOne(targetEntity=Pessoa.class)
	private Pessoa pessoa;

e query vai ficar assim:

"from Pessoa"

Simples assim. :smiley:

Espero ter ajudado qualquer duvida posta ai.
Abraço

f2pro

Vlww cara…
[]'s

G

:smiley:

Criado 11 de fevereiro de 2011
Ultima resposta 11 de fev. de 2011
Respostas 9
Participantes 4