2016-03-19 12 views
0

次のHQLで次の例外が発生します。GORM findAll +は名前付きパラメータとして動的リストを渡すことができません

java.util.ArrayList cannot be cast to java.lang.String. 

明らかに私は何かが欠けているが、理解できない。誰か助言してもらえますか?

def methodA(List<String> key1List, List<String> key2List){ 
    def results = DomainX.findAll("from DomainX x where (x.key1 in (:key1_s)) and (x.key2 in (:key2_s))",[key1_s:key1List, key2_s:key2List]) 
} 

以下の作品ではなく、上記1:

def methodA(List<String> key1List, List<String> key2List){ 
    def results = DomainX.findAll("from DomainX x where (x.key1 in (:key1_s)) and (x.key2 in (:key2_s))",[key1_s:['ABC'], key2_s:['DEF']]) 
} 
+0

あなたはどのバージョンのgrailsを使用していますか? – user3718614

+0

Grailsバージョン2.4.4 – Divs

+0

grails 2.4.2で動作確認されています。どのようにこの最初の方法を呼んでいるのですか? – user3718614

答えて

0

それは私のミスでした。 key2Listは[[key2_a], [key2_b]]のようでした。 GORMはこれを平らなリスト[key2_a, key2_b]と期待していました。

関連する問題