gpt4 book ai didi

hibernate - Grails - 按域关系属性排序(使用 createCriteria())

转载 作者:行者123 更新时间:2023-12-01 07:47:19 26 4
gpt4 key购买 nike

我有两个具有 1:n 关系的域类:

import Action

class Task {
Action actionParent
String taskName
}


class Action {
String actionName
}

我有任务列表,其中包含“操作名称”列,我想按 Action.actionName 对此列进行排序。现在我正在使用 createCriteria() 方法 [我需要使用它,因为我有更多的过滤和排序逻辑......],但我只能按“Action.id”进行排序。这个方法看起来像:
def criteria = Task.createCriteria();
taskList = criteria.list {
if(parameters.max != null)
maxResults(parameters.max)
if(parameters.offset != null)
firstResult(new Integer(parameters.offset))
if(parameters.sort != null && parameters.order)
order(parameters.sort, parameters.order)
}

有没有办法按关系属性对域类数据进行排序?

感谢您的重播,

马特奥

最佳答案

如果您想坚持使用标准方法,请尝试这样的方法。为您的 Action 对象创建一个别名,然后访问该属性以对其进行排序

    def criteria = Task.createCriteria()
def taskList = criteria.list {
createAlias("actionParent","_action")
order( "_action.actionName")
}

关于hibernate - Grails - 按域关系属性排序(使用 createCriteria()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com