2011-10-25 2 views
1

나는 각각 그래서 직원이 교육을 소장하고 있습니다HQL 쿼리 구문 각각이 유형이

에 "교육 유형"이 여러 "교육"이 직원의 목록을 얻기 위해 노력하고, 이름.

Stacktrace follows: 
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: ed near line 1, column 39 [FROM Employee e, IN (e.education) AS ed WHERE ed.type.name IN (:typeNames)] 
    at $Proxy12.createQuery(Unknown Source) 

그래서 내가 올바르게 액세스하는 방법을 알아 내려고 노력하고 있어요 :
def unchecked = educationTypes?.unchecked 
    String query = "FROM Employee e, IN (e.education) AS ed WHERE ed.type.name IN (:typeNames)"; 

    def matches = Employee.executeQuery(query, [typeNames: unchecked]); 

쿼리

위의 다음 나에게 제공합니다.

+1

이 비어되지 않은가요? 나는 당신의 매개 변수가 비어 있다면 절에서 HQL을 깨뜨린다고 생각한다. (적어도 과거에는 그 문제를 겪었지만, 예외는 기억할 수 없다). –

답변

1

시도 뭔가 이런 어떤 도움을 많이 감사 :

Employee.executeQuery(""" 
    select e from Employee e, Education ed 
    where ed.employee = e and ed.type.name IN (:typeNames) 
""", [typeNames: [...]])