Problemas com ultimo registro

Estou tentando usar a query pra recuperar o ultimo id

SELECT id FROM Pessoa ORDER BY id DESC SELECT MAX(id) FROM Pessoa
com setMaxResults(1); na primeira mas ele não retorna nada, e quando eu uso direto com sql no banco ela aceita.

Obrigado!

Mas pq isso? setMaxResults(1);
Se você já está fazendo SELECT MAX(id) FROM Pessoa e isso só volta uma ilha?

1 curtida

setMaxResults é JPA, portanto está usando HQL.

Cuidado que HQL parece mas não é SQL. Não conheço suficiente HQL para dizer o que está errado na sua query, mas provavelmente também há algum problema.

[quote=entanglement]setMaxResults é JPA, portanto está usando HQL.

Cuidado que HQL parece mas não é SQL. Não conheço suficiente HQL para dizer o que está errado na sua query, mas provavelmente também há algum problema. [/quote]É, nem pensei que ele estava usando HQL/JPQL…

Aqui mostra como funciona o JPQL: http://uaihebert.com/?p=1137

Então, o max result eu usei pra substituir o Max no primeiro caso entende? Pq Max é sql, e o Hql só suporta assim

  • até onde eu sabia

O banco que você está usando é oracle?

Dessa forma que você está fazendo, veja a query que o hibernate está gerando…