[RESOLVIDO]Retornar o último registro com Hibernate
11 respostas
D
Diego_Adriano
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.
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
fdcarli
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
Diego_Adriano
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
rafaduka
Query query = manager.createQuery("SELECT e FROM XUPIM e");
D
Diego_Adriano
Rafa, eu uso isso para me preencher os datatables …
mas então ele teria que funcionar dessa forma … correto:
Queryquery=manager.createQuery("SELECT LAST_INSERT_ID(id) from Avaliacao order by id desc limit 1");
Ele me retorna Null …
R
rafaduka
após isto usou?:
returnquery.getResultList();
D
Diego_Adriano
Então, utilizando aquela instrução que citei ele teria que retornar somente “1” um resultado:
returnquery.getSingleResult();
D
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 !!!
A
amaica
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
Diego_Adriano
Me manda um e-mail explicando o que precisa que lhe ajudo ! [email removido]