Синтаксис HQL-запроса в граалях - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь получить список сотрудников с несколькими «Образованиями», у каждого из которых есть «Тип образования»

, поэтому у Сотрудника есть коллекция образований, у каждого из которых есть тип с именем.

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

Приведенный выше запрос дает мне следующее:

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)

Поэтому я пытаюсь выяснить, как получить к нему правильный доступ.Большое спасибо за любую помощь

1 Ответ

1 голос
/ 26 октября 2011

Попробуйте что-то вроде этого:

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