回答

收藏

JPA找到最后一个条目

技术问答 技术问答 207 人阅读 | 0 人回复 | 2023-09-14

我想知道用JPA获取表的最后一个条目的最佳方法是什么。在Sql中,我正在寻找的将是:
0 x6 `. U/ [( J1 E3 P$ f; hselect id from table order by id desc limit 1: G5 H0 l+ T7 q
我当时在考虑model.count(),但这听起来更像是一种破解,而不是一个好的解决方案;). {9 b# z+ `( ^0 C+ s. H/ [
                2 a( P) c/ `: q% W) U
解决方案:1 F0 A( G/ f7 B4 C/ E
               
) F$ f- }. a- o; @! M2 Z  z8 S' n; J1 l4 L: N: d- W

0 `3 M- @4 \/ O: M                您可以使用JPQL query看起来与查询非常相似的。: v+ J0 ]  H" b* b" c
select t from JpaClass t order by t.id desc
# b  r5 x# k3 s3 M/ y建立后,Query object您可以致电
, n! c% {/ u% bquery.getSingleResult() or call query.setMaxResults(1)
; `4 _- ]% Z# [9 a其次是$ h( W( O3 H; r/ |/ i3 H- t& D
query.getResultList()
/ p7 r6 c) S; N. ~编辑:我的错误:请注意下面的mtpettyp的注释。
7 \3 c; R0 k2 g# d$ Z5 O  K9 {% |  v. i8 D6 v
不要使用query.getSingleResult(),因为如果返回的行不完全是一个异常,则可能会引发异常-请参见java.sun.com /+ l; d0 l; D6 F# R
javaee / 5 /`()-mtpettyp$ Y9 P: H- B# V% m1 r

1 V5 C4 t5 j2 m% F5 r7 w" u/ u使用setMaxResults和getResultList。# o. `* s( J  B( X; s" f' q
query.setMaxResults(1).getResultList();
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则