2013-03-27 3 views
2

Grails의 쿼리에 Char 값 목록을 전달하는 시나리오가 있습니다. 나는 목록을 통과하면Groovy SQL에서 쿼리에 목록을 전달하는 방법은 무엇입니까?

이 " '[A, B]에서와 acct.account_status_cd"

하지만이 있어야한다 "AND ACCT을

def accounts = ['A', 'B'] 
AND acct.account_status_cd in '${accounts} 
쿼리처럼 보이는

일어나는 것입니다. account_status_cd in ('A', 'B') "

어떻게해야합니까? 당연히 당신은 또한 withCriteria을 사용할 수 있습니다

Account.accountsInList(['A', 'B']).list() 

:

class Account { 

    // code omitted 

    static namedQueries = { 
     accountsInList { accountList -> 
      'in'("account_status_cd", accountList) 
     } 
} 

그런 다음 당신이 좋아하는이 namedQuery를 사용할 수 있습니다

답변

3

문자열로 전달하여 해결 ...

문자열의 = keys.collect { " '$ 그것"} .join을 (' ')

그것은 나를 = S 제공' ','C를 'A', 'B를

+0

그냥'가입()'당신이 (예를 들어 목록에 인용 된 값을 필요로하지 않는 경우에 충분하다. 숫자 목록). – tytk

관련 문제