如何检索最后一个“m”来自“1-n”的实例使用 JPQL 的关系?

发布于 2024-11-05 15:34:10 字数 75 浏览 3 评论 0原文

无论如何,是否可以使用 JPQL 从 1 到 n 关系中检索最后的“m”个实例?
例如。检索以下“x”个用户的最后“m”个操作。

Is there anyway to retrieve the last "m" instances from a 1 to n relationship using JPQL?

Ex. Retrieve the last "m" actions for the following "x" Users.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-11-12 15:34:10

对于单个用户,您可以仅在查询上使用 maxResults。

Query query = em.createQuery("select u.actions from User u where u.id = :id");
query.setMaxResults(10);

否则,由于 OneToMany 中没有顺序,或者是否有顺序列,如何确定“最后”实例?

也许是这样的,

Select a from User u join u.actions a where a.index >= (Select (Max(a2.index) - 10) from Action a2 where a2.user = u)

For a single user you can just use maxResults on the Query.

Query query = em.createQuery("select u.actions from User u where u.id = :id");
query.setMaxResults(10);

Otherwise, how do you determine the "last" instances as there is no order in a OneToMany, or do you have an order column?

Perhaps something like,

Select a from User u join u.actions a where a.index >= (Select (Max(a2.index) - 10) from Action a2 where a2.user = u)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文