【问题标题】:How do I order an HQL query by a property of an object in a collection?如何按集合中对象的属性对 HQL 查询进行排序?
【发布时间】:2012-02-13 19:30:06
【问题描述】:

假设我有一辆带收音机的汽车,而收音机与 Button 具有一对多关联。我想要的是福特制造的汽车中所有按钮的唯一名称,按按钮名称排序。鉴于我们建立关系的方式,我无法弄清楚如何做到这一点。比如:

select distinct elements(c.radio.buttons)
from Car c 
where c.make = 'Ford'
order by c.radio.buttons.name

当然,最后一部分是错误的。我将对这些数据进行分页,这就是我尝试完全在查询中进行分页的原因。

答案可能涉及连接提取,但到目前为止我还没有运气。谢谢!

【问题讨论】:

    标签: hibernate grails hql grails-orm


    【解决方案1】:

    HQL 是

    select distinct button
    from Car c join c.radio.buttons button
    where c.make = 'Ford'
    order by button.name
    

    【讨论】:

    • 由于按钮确实是另一个表,因此连接非常有意义!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多