Grails - 在查询中按两个字段排序

Dvo*_*ora 3 grails grails-orm

我的项目中有这样的域类:

class Log  {

Integer entityId
Integer tableId
Date logDt
}
Run Code Online (Sandbox Code Playgroud)

我想通过某个tableId选择所有记录,并按entityId logDt desc 对它们进行排序.按一个文件排序工作正常:

Log.findAllByTableId(tableID, [sort: 'entityId', order: 'desc'])
Run Code Online (Sandbox Code Playgroud)

但是当我尝试按两个字段排序时:

Log.findAllByTableId(tableID, [sort: 'entityId,logDt', order: 'desc'])

我得到一个错误,表示'entityId,logDt'此表中没有此类字段.

这样做的正确语法是什么?

谢谢.

aio*_*los 10

使用动态查找器,您只需按一个属性排序即可.

如果您想按多个属性排序,可以使用条件或HQL查询.

以下是使用条件的示例:

def logs = Log.createCriteria().list {
    eq('tableId', tableID)
    order('entityId', 'desc')
    order('logDt', 'desc')
}
Run Code Online (Sandbox Code Playgroud)