JPA找到最后一个条目
我想知道用JPA获取表的最后一个条目的最佳方法是什么。 在Sql中,我正在寻找的是:
select id from table order by id desc limit 1
我在考虑使用model.count(),但这听起来更像是一个黑客而不是一个好的解决方案;)
您可以使用看起来非常类似于JPQL query
的JPQL query
查询。
select t from JpaClass t order by t.id desc
在建立Query object
您可以调用它
query.getSingleResult() or call query.setMaxResults(1)
其次是
query.getResultList()
编辑:我的错误:请注意mtpettyp的评论如下。
不要使用query.getSingleResult()作为exception,如果没有返回一行,则抛出exception – 请参阅java.sun.com/javaee/5/…(),mtpettyp
使用setMaxResults和getResultList。
query.setMaxResults(1).getResultList();
查询方法的结果可以通过关键字first或top来限制,可以互换使用。 可选的数值可以附加到top / first以指定要返回的最大结果大小。 如果省略该数字,则假定结果大小为1。
JpaClass findFirstByOrderByIdDesc();
由Spring Data JPA docs引用