我的项目中有这样一个 Realm 类:

class Log  {

Integer entityId
Integer tableId
Date logDt
}

我想按某个tableId选择所有记录,并按entityId logDt desc对它们进行排序。
按一个字段排序效果很好:
Log.findAllByTableId(tableID, [sort: 'entityId', order: 'desc'])

但是当我尝试按两个字段排序时:
Log.findAllByTableId(tableID, [sort: 'entityId,logDt', order: 'desc'])
我收到一个错误,表明此表没有此类字段'entityId,logDt'

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

谢谢。

最佳答案

使用动态查找器,您仅可以按一个属性进行排序。

如果要按多个属性排序,则可以使用条件或HQL查询。

这是使用条件的示例:

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

09-09 19:37