4

私は自分のプロジェクトにそのようなドメインクラスを持っています:

class Log  {

Integer entityId
Integer tableId
Date logDt
}

特定の tableId ですべてのレコードを選択し、entityIdlogDt desc で並べ替えたいと思います。1 つのフィールドによる並べ替えは正常に機能します。

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

しかし、両方のフィールドでソートしようとすると:

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

'entityId,logDt'このテーブルにはそのようなフィールドがないというエラーが表示されます。

そうするための正しい構文は何ですか?

ありがとう。

4

2 に答える 2

11

動的ファインダーを使用すると、1 つのプロパティで並べ替えることができます。

複数のプロパティで並べ替えたい場合は、基準または HQL クエリを使用できます。

基準を使用した例を次に示します。

def logs = Log.createCriteria().list {
    eq('tableId', tableID)
    order('entityId', 'desc')
    order('logDt', 'desc')
}
于 2013-05-02T07:34:51.683 に答える