GORM findAll + 无法将动态列表作为命名参数传递
GORM findAll + cannot pass dynamic List as named parameter
我在以下 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']])
}
这是我的错误。 key2List 就像 [[key2_a], [key2_b]]
; GORM 期望这是一个扁平化的列表 [key2_a, key2_b]
。
我在以下 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']])
}
这是我的错误。 key2List 就像 [[key2_a], [key2_b]]
; GORM 期望这是一个扁平化的列表 [key2_a, key2_b]
。