小编Mat*_*teo的帖子

Grails默认排序为"hasMany"域属性

我正在尝试hasMany使用mapping语句设置我的属性的默认排序.我正在关注grails doc,但它对我不起作用(grails 1.3.5).我的代码看起来像:

class Note {
    Calendar    sendDate
    static belongsTo = Message
}

class Message {
    static  hasMany = [notes: Note]
    static mapping = {
        notes sort:'sendDate desc'
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息如下所示:

...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'notes0_.sendDate' in 'order clause'
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.Util.getInstance(Util.java:384)
...
Run Code Online (Sandbox Code Playgroud)

你看到我的代码中有任何错误吗?

grails grails-orm grails-domain-class

14
推荐指数
2
解决办法
1万
查看次数

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

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

import Action

class Task {    
    Action actionParent
    String taskName
}
Run Code Online (Sandbox Code Playgroud)

class Action {
    String actionName
}
Run Code Online (Sandbox Code Playgroud)

我有“任务名称”列的“任务”列表,我想按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)
}
Run Code Online (Sandbox Code Playgroud)

是否可以通过关系属性对域类数据进行排序?

感谢您的重播,

马泰奥

grails hibernate grails-orm grails-domain-class

3
推荐指数
1
解决办法
5194
查看次数