【问题标题】:hql - order by first item of the listhql - 按列表的第一项排序
【发布时间】:2014-09-30 21:08:35
【问题描述】:

所以我有一个要求,需要我按列表第一项的 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 

有什么想法吗? 谢谢!

【问题讨论】:

    标签: java hibernate jakarta-ee hql


    【解决方案1】:

    我相信我之前尝试过;而且我认为不可能通过列表来做到这一点。如果您有另一列是 Item,那么您可以像 order by o.item.id 一样执行此操作,或者如果您将 Item 表添加到连接中,然后以这种方式排序。

    【讨论】:

      【解决方案2】:

      如果您的意思是item 的最小 id 值,这不是您想要的吗?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 2014-08-12
        • 1970-01-01
        • 2022-01-04
        • 2022-01-15
        • 2016-11-07
        • 1970-01-01
        相关资源
        最近更新 更多