Estou usando o TopLink aqui no meu projeto.
Bom, vou explicar como ta montado o sistema (tudo esta funcionando corretamente até o momento, o problema vem depois). Tenho 2 classes, uma que é de Chamado e outra de Mensagem. A Mensagem são as mensagens do chamado.
Em Mensagem só tenho isso:
id
data de envio
mensagem
usuario que enviou
id do chamado
e no Chamado eu mapeio assim:
@OneToMany(targetEntity = Mensagem.class, orphanRemoval = true, cascade = CascadeType.PERSIST)
@JoinColumn(name = "id_chamado", table = "mensagem")
private List<Mensagem> mensagens = new ArrayList<Mensagem>();
O problema que estou tendo agora é o seguinte. Eu preciso fazer o list de chamados, que até o momento esta funcionando, mas agora tenho que considerar no ORDER BY também a data da ultima mensagem, isso usando o JPA mesmo (to tentando fugir do criteria).
Atualmente a query ta assim
SELECT c FROM Chamado c WHERE xxxxx ORDER BY c.status, c.dataAbertura desc