如何基于属性值对对象列表进行排序

时间:2018-08-10 18:14:25

标签: sorting grails hibernate-criteria

我正在使用CriteraBuilder返回对象列表。我想通过对象中的属性值将此列表排序(希望在查询中),如果它等于状态“ PENDING”。对象上的状态可以是“有效,已过期或待处理”。我想首先将状态为“待处理”的对象放在返回列表中。请注意,我希望能够对这个列表进行分页。

标准

def getAllIds(Map opts = [:]) {
    def max = opts.max ?: 10
    def offset = opts.offset ?: 0

    def c = Identification.createCriteria()
    List<Identification> ids = c.list(max: max, offset: offset) {
        //sort here if status == "PENDING"
    }

    return ids
}

1 个答案:

答案 0 :(得分:0)

您可以使用'withCriteria'代替'createCrkteria'+'list'并在其中使用'order'

请参见http://docs.grails.org/3.1.1/ref/Domain%20Classes/withCriteria.html