Crianda lista em ordem alfabética no DAO

Possuo uma classe DAO generico que possui o seguinte método abaixo

public List listaTodos() {
EntityManager em = new JPAUtil().getEntityManager();
CriteriaQuery query = em.getCriteriaBuilder().createQuery(classe);
query.select(query.from(classe));

	List<T> lista = em.createQuery(query).getResultList();

	em.close();
	return lista;
}

Se eu quisesse numa dataTable de pessoas, listar por ordem alfabética como faria?

Jeito mais trabalhoso: procura no google, order by criteria JPA
Você irá encontrar a sintaxe correta.

Jeito mais fácil:
Utilizar o easyCriteria: easycriteria.uaihebert.com
Bastaria fazer
easyCriteria.orderByDesc(“name”);

=D

[quote=Hebert Coelho]Jeito mais trabalhoso: procura no google, order by criteria JPA
Você irá encontrar a sintaxe correta.

Jeito mais fácil:
Utilizar o easyCriteria: easycriteria.uaihebert.com
Bastaria fazer
easyCriteria.orderByDesc(“name”);

=D[/quote]

Ressulcitando o Tópico, alguém sabe como fazer orderBy a partir de um campo de outra tabela?
Só encontrei a partir da que estou buscando, mas seria de um campo de um innerjoin.
Obrigado.

Leandro, posta o código do que vc tem pra gente vê.

EasyCriteria<ItemSolicitacao> easyCriteria = EasyCriteriaFactory.createQueryCriteria(em, ItemSolicitacao.class);
easyCriteria.innerJoin("solicitacao");

Abaixo da solicitacao preciso referenciar o cliente que está na solicitacao.

Iniciei com o problema do order by pois no ItemSolicitacao queria ordenar por nome de cliente.

Mas se eu adicionar o

easyCriteria.innerJoin("cliente");

diz que não existe cliente em ItemSolicitacao e realmente não existe, está em solicitacao.

Queria adicionar o nome do cliente e ordenar por ele.

Obrigado

tenta assim:

veja se da certo.

[quote=Leo_Holanda]tenta assim:

veja se da certo.[/quote]

Olá Leo,

Obtive este erro:

We could not find the join: solicitacao.cliente in the given class: com.model.ItemSolicitacao

Deixa eu entender melhor:

vc tem uma classe ‘ItemSolicitacao’ cujo objeto é ‘solicitacao’, que tem um relacionamento com cliente. Correto?
Qual o nome da variavel que consta o cliente na solicitacao?

[quote=Leo_Holanda]Deixa eu entender melhor:

vc tem uma classe ‘ItemSolicitacao’ cujo objeto é ‘solicitacao’, que tem um relacionamento com cliente. Correto?
Qual o nome da variavel que consta o cliente na solicitacao?

[/quote]

Está desta forma:

    @ManyToOne
    @JoinColumn(name = "cliente_id")
    private Cliente cliente;

o que consegui fazer em relação ao cliente foi filtrar, desta forma:

easyCriteria.andJoinNotEquals("solicitacao", "cliente", 0);
//easyCriteria.andJoinNotEquals("solicitacao", "cliente", 0).orderByAsc("razaosocial");

aí pensei em fazer um orderby mas sem sucesso.