[RESOLVIDO]Retornar o último registro com Hibernate

11 respostas
D

Bom galera, eu consigo retornar o ultimo registro utilizando sql dessa forma:

Porém como faço para fazer a mesma coisa utilizando o Hibernate, utilizo EntityManger para fazer a persistência, já vi alguns post sobre isso mas ainda não consegui realizar essa consulta.

Abraços …

11 Respostas

M

Cara não sei se ajuda, mas consegui fazer algo semelhante ordenando a consulta pelo campo que eu queria, em ordem decrescente pegando apenas o primeiro registro. Como trabalho com JPA, fiz isso através de criteria do JPA… (bem trablhoso pra montar a consulta).
não sei se ajuda…

Abraço.

F

eu tb faço do jeito que o Diego Adriano faz, mas isso não quer dizer que é o ultimo registro inserido…

caso vc não consiga pode executar sql nativo com o hibernate…

D

Adriano teria um como postar a Criteria que vc criou ?
Bem, entao ele me deixa realmente criar uma Query utilizando o Sql nativo ?
Abraços

R
Query query = manager.createQuery("SELECT e FROM XUPIM e");
D

Rafa, eu uso isso para me preencher os datatables …
mas então ele teria que funcionar dessa forma … correto:

Query query = manager.createQuery("SELECT LAST_INSERT_ID(id) from Avaliacao order by id desc limit 1");

Ele me retorna Null …

R

após isto usou?:

return query.getResultList();
D

Então, utilizando aquela instrução que citei ele teria que retornar somente “1” um resultado:

return query.getSingleResult();
D

Bem, não utilizei nenhuma das formas que discutimos aqui …rs …
Vou explicar totalmente para todos entenderem.
Bem, eu tinha uma Classe(Entity) - Avaliação e Questionário, Questionário possuia uma chave estrangeira de Avaliação(o ID).
Eu imaginava que eu teria que setar o ID da Avaliação no Questionário MANUALMENTE "this.questionario.setAvaliacao(ID)" … porém qdo analisei com calma ele espera o OBJETO de Avaliação, então fiz "this.questionario.setAvaliacao(avaliacao)".
Reparei que o Hibernate faz primeiro o Insert na Entity Avaliacao e automaticamente passa o ID para gravar a Entity Questionario.
Ou seja eu não preciso coletar o ID primeiro o Hibernate se RESPONSABILIZA.
Bem não sei se é o correto … Mas funcionou …rs

Obrigado !!!

A

Diego Adriano:
Bem, não utilizei nenhuma das formas que discutimos aqui …rs …
Vou explicar totalmente para todos entenderem.
Bem, eu tinha uma Classe(Entity) - Avaliação e Questionário, Questionário possuia uma chave estrangeira de Avaliação(o ID).
Eu imaginava que eu teria que setar o ID da Avaliação no Questionário MANUALMENTE "this.questionario.setAvaliacao(ID)" … porém qdo analisei com calma ele espera o OBJETO de Avaliação, então fiz "this.questionario.setAvaliacao(avaliacao)".
Reparei que o Hibernate faz primeiro o Insert na Entity Avaliacao e automaticamente passa o ID para gravar a Entity Questionario.
Ou seja eu não preciso coletar o ID primeiro o Hibernate se RESPONSABILIZA.
Bem não sei se é o correto … Mas funcionou …rs

Obrigado !!!

Diego sei que o post é antigo, mas estou com uma duvida parecida, e nesse caso como voce fez para listar?

D

Me manda um e-mail explicando o que precisa que lhe ajudo !
[email removido]

A

Obrigado o retorno.

Criado 29 de agosto de 2011
Ultima resposta 11 de nov. de 2012
Respostas 11
Participantes 5