我正在尝试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)
你看到我的代码中有任何错误吗?
我有两个具有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)
是否可以通过关系属性对域类数据进行排序?
感谢您的重播,
马泰奥