Duvida em Hibernate como ordernar o segundo objeto "a" por order de um outro campo?

6 respostas
P

Olá,

Alguém pode me ajudar ???

pois tenho um relacionamento de um pra varios (cliente (1)  ----- endereço (n) )

e gostaria que o endereço fosse ordenado por outro campo diferente de id tem como

chamando o metodo abaixo findall ??????????????????????

private Class<T> type;
private String findAll;

 @SuppressWarnings("unchecked")
public List<T> findAll(){
 	getType();
    	return entityManager.createQuery(findAll).getResultList();
 }

6 Respostas

marcelo.bellissimo

Pesquise o uso da classe Criteria do Hibernate.

https://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html

L

Se eu fosse fazer com HQL ao invés de Criteria, seria assim

select c
from cliente c
left outer join c.endereco as e
order by e.rua

Mas com criteria, você obtém uma subcriteria de Endereço a partir de Cliente, e nele faz o order by. Acho que é mais ou menos assim:

clientes = session.createCriteria(Cliente.clas);
enderecos = clientes.createCriteria("endereco");
marcelo.bellissimo

Criteria criteria = session.createCriteria(Endereco.class); criteria.addOrder( Order.asc("logradouro") );//onde logradouro eh o nome da propriedade da Classe Endereco que vc quer utilizar para ordenar List<Endereco> enderecos = criteria.list();

Como já falei, veja a documentação que passei acima, tem vários exemplos…

P

usei a anotação abaixo mas o select veio por ordem asc queria que viesse em ordem desc

como fazer???alguém já passou por isso???

@OrderBy("numberVote")
private List<Answer> answers = new ArrayList<Answer>();
	


order by
        answers0_.nr_vote asc
marcelo.bellissimo

Coloca:

Explicação: quando você não coloca o “desc” ele assume o “asc” por padrão…

Sacou? :smiley:

P

valeu…

pensei que era uma propriedade…e coisa e tal…

abs

Criado 15 de janeiro de 2010
Ultima resposta 15 de jan. de 2010
Respostas 6
Participantes 3