hql - 按列表的第一项排序

时间:2014-08-07 14:53:52

标签: java hibernate java-ee hql

所以我有一个要求,需要我按照列表第一项的ID来订购结果。

public class Order {
private int id;
private List<Item> items;
}

要获得列表项包含'1234'的订单,我可以这样做:

from Order o where o.items[0].id = 1234

回到我的要求,我认为这样可行,但事实并非如此:

from Order o order by o.items[0].id 

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

我相信我之前尝试过;我不认为可以通过列表来做到这一点。如果您有另一列是Item,那么您可以按照o.item.id的顺序执行此操作,或者如果您将Item表添加到连接,则按此顺序排序。

答案 1 :(得分:0)

如果你的意思是item的id值最小,那么这会做你想要的吗?

select distinct o from Order o join o.items item order by item.id