2016-03-19 13 views
0

olarak adlandırılmış olarak alamıyor Aşağıdaki HQL'de aşağıdaki özel durumları alıyorum.GORM findAll +, dinamik Listeyi

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

Açıkçası bir şeyleri özlüyorum ama yapamam, anlayamıyorum. Birisi lütfen tavsiye edebilir mi?

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

aşağıdaki çalışıyor fakat yukarıda biri:

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

Kullandığınız grails sürümü nedir? – user3718614

+0

Kepçeler sürümü 2.4.4 – Divs

+0

Denemeler 2.4.2 üzerinde test edilmiştir ve iyi çalışıyor. Bu ilk yöntemi nasıl arıyorsun? – user3718614

cevap

0

Benim hatamdı. key2List, [[key2_a], [key2_b]]; GORM bunu yassı bir liste [key2_a, key2_b] olarak bekliyordu.