Groovy/Grails:如何按id排序对象列表

mon*_*nda 31 sorting grails groovy list

公共培训班

class PublicTraining{
    static hasMany = [trainingOrder: TrainingOrder]
}
Run Code Online (Sandbox Code Playgroud)

和TrainingOrder类

class TrainingOrder {
    Date createdOn

    static mapping = {
        sort id:"asc"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我想获得所有培训订单

def orders = publicTrainingInstance.trainingOrder.sort()
println orders // [59,58] (id of orders)
Run Code Online (Sandbox Code Playgroud)

它没有给出排序的订单

Igo*_*nov 58

默认sort()对于有用Comparable对象.如果您的班级不是Comparable,请使用:

def orders = publicTrainingInstance.trainingOrder.sort { it.id }
Run Code Online (Sandbox Code Playgroud)

该代码将使用传递的id进行排序.

请参阅文档:http://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#sort()