0

我有以下场景(域类)

class Request { 
    String title                
    List statusUpdates

    static hasMany = [statusUpdates: StatusUpdate]
}

class StatusUpdate {

    Date dateCreated
    String statusFrom
    String statusTo
    String notes

    static belongsTo = Request
}

我目前createCriteria用于实现请求的过滤和基本排序。

现在我想Request从最近更新的开始获取 s 列表(按 for 的字段dateCreatedlast StatusUpdate排序Request

有什么提示吗?

4

2 回答 2

1

假设每个 Request 至少有一个 StatusUpdate 并稍微改变了 belongsTo 声明,你可以去另一个方向:

class StatusUpdate {

    Date dateCreated
    String statusFrom
    String statusTo
    String notes

    static belongsTo = [req: Request] // I assume that naming the field "request" would cause whole bunch of weird problems, therefore "req"
}

StatusUpdate.createCriteria().list() {
    req {
        // your criteria for requests filtering
    }
    projections {
        groupProperty 'req', 'reqAlias'
        max 'dateCreated', 'maxDateCreatedAlias'
    }
    order 'maxDateCreatedAlias', 'desc'
}.collect { it[0] }
于 2015-02-13T10:42:20.560 回答
0

您可以使用 Comparator 或 Comparable 接口。这里有一个很好的示例 链接

于 2015-02-13T09:58:01.587 回答