7

HibernateCriteriaBuilder基準クエリを作成するためにAPIを使用しています。内部にステートメントCriteriaなどの条件付きロジックを含めることができるかどうかを知りたいですか?if

例えば:

 OnemonthList=it.createCriteria().list {   
   if (res_id!='all'){
        eq('graresource',resourceInstance)
   }         
    between('currentdate', fromDate, toDate)         
    projections {       
    trans {
      countDistinct('id')    
    }
    groupProperty('currentdate')
        }                  
    } 

これは有効ですか?

4

1 に答える 1

10

はい、DSLの基準内で任意の種類の条件付きロジックまたはループロジックを使用できます。あなたの例はうまくいくでしょう。ループの使用は、次のように非常に便利です。

Domain.createCriteria().list {
    params.mapOfConditions.each {
        eq it.key, it.val
    }
}

eqあなたが持っているマップの各エントリに動的にを追加します。

于 2012-01-30T04:15:03.603 に答える