JPA 查找最后一个条目

2022-09-01 11:09:35

我想知道使用JPA获取表的最后一个条目的最佳方法是什么。在Sql中,我正在寻找的是这样的:

select id from table order by id desc limit 1 

我正在考虑model.count(),但这听起来更像是一个黑客,而不是一个好的解决方案;)


答案 1

查询方法的结果可以通过关键字 firsttop 来限制,这些关键字可以互换使用。可以将可选的数值追加到 top/first 以指定要返回的最大结果大小。如果省略该数字,则假定结果大小为 1。

JpaClass findFirstByOrderByIdDesc();

由Spring Data JPA文档引用


答案 2

您可以使用看起来与您的查询非常相似的 。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() 因为如果没有返回一行,可能会引发异常 - 请参阅 java.sun.com/javaee/5/...() - mtpettyp

使用 setMaxResults 和 getResultList。

query.setMaxResults(1).getResultList();

推荐