GORM findAll +无法将动态List作为命名参数传递

时间:2016-03-19 14:24:02

标签: gorm hql

我在以下HQL中遇到以下异常。

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])
}

以下作品但不是上述作品:

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']])
}

1 个答案:

答案 0 :(得分:0)

这是我的错。 key2List就像[[key2_a], [key2_b]]; GORM希望这是一个扁平列表[key2_a, key2_b]