Grails HQL按子列表中的最大项排序

Grails HQL按子列表中的最大项排序,grails,hql,Grails,Hql,我有以下域类 class Child{ def age } class Parent{ static hasMany = [children:Child] } 我想在HQL中执行以下内容 Parent.list() .sort{ parent -> parent.children.sort{ child -> child.age}[0]}[0..10] 基本上,我想检索一份按长子年龄排序的父母名单。并将此限制为仅10条记录。我不想从数据库中提取所有父记录

我有以下域类

class Child{
    def age
}

class Parent{
    static hasMany = [children:Child]
}
我想在HQL中执行以下内容

Parent.list()
    .sort{ parent -> parent.children.sort{ child -> child.age}[0]}[0..10]
基本上,我想检索一份按长子年龄排序的父母名单。并将此限制为仅10条记录。我不想从数据库中提取所有父记录和子记录,然后进行必要的排序。我希望HQL可以在“数据库层”上执行此操作,并且只返回我需要的结果。谢谢:)

Parent.withCriteria {
        createAlias('children', 'ch', org.hibernate.criterion.CriteriaSpecification.LEFT_JOIN)
        order("ch.age", "desc")
        maxResults(10)

        setResultTransformer(org.hibernate.criterion.CriteriaSpecification.DISTINCT_ROOT_ENTITY)
    }