[Grails] projections で取得したデータに名前を付けて(Map形式)でデータを取得する

以下のように projections を使って集計した結果を取った場合

戻り値のListの各要素は Object の配列(Object[])になっている。

なので、 Data Binding を使って new できない

以下のように resultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP) を付け加えるとうまくいく

Listの各要素は Map で受け取れるので Data Binding が使える

[Grails] Criteria で検索条件を再利用して使いまわす

同じような検索条件があるときに、冗長化してちゃってダサくならないようにするには以下のようにする

まず、検索条件だけのクロージャーを作る

次に使う

projections とかも同様に再利用できる

検索条件の時と同じように使う