【发布时间】:2011-01-05 12:28:10
【问题描述】:
我有一个表 - 我们称它为 AAA,它对另一个表有一对多的定义,分配给 BBB。它看起来像这样:
public class AAA
{
...
@OneToMany(orphanRemoval=true, fetch=FetchType.LAZY, mappedBy="aaa")
private List<BBB> bbbs;
...
}
我想运行一个 JPA 查询,它将为我提供具有多个 BBB 的所有 AAA,因此我使用了SIZE(aaa.bbbs)。但是,我希望结果集按每个 aaa 中第一个 bbb 的时间戳排序。
一个真实的例子:我想获取我所有的 Facebook 朋友,按每个人添加到他们个人资料中的最新图片排序。在这种情况下,AAA 是“朋友”,而 BBB 将是“图片”,我想通过 Picture.CreatedTimestamp 订购朋友。
我基本上需要为每个 aaa 访问 bbbs 中的第一项,并按它排序。为了实现这个目标应该做些什么?
【问题讨论】: