JPA find the Last entry

You could use a JPQL query that looks very similar to your query.

select t from JpaClass t order by t.id desc

After you establish your Query object you could then call

query.getSingleResult() or call query.setMaxResults(1)

followed by

query.getResultList()

EDIT: My mistake: Please note mtpettyp's comment below.

Don't use query.getSingleResult() as an exception could be thrown if there is not exactly one row returned - see java.sun.com/javaee/5/…() - mtpettyp

Go with setMaxResults and getResultList.

query.setMaxResults(1).getResultList();

I know I'm late to the party, but this might help someone. If you want to fetch the latest entry by created timestamp. (When you don't want to rely on the table id):

YourEntity findFirstByOrderByCreatedTsByDesc();


The results of query methods can be limited via the keywords first or top, which can be used interchangeably. An optional numeric value can be appended to top/first to specify the maximum result size to be returned. If the number is left out, a result size of 1 is assumed.

JpaClass findFirstByOrderByIdDesc();

referenced by Spring Data JPA docs

Tags:

Sql

Java

Jpa