grails中的HQL查询语法

时间:2011-10-25 19:37:57

标签: sql grails hql

我正在尝试获得一份有多个“教育”的员工名单,每个人都有“教育类型”

因此,员工拥有一系列教育,每个教育都有一个具有名称的类型。

    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 个答案:

答案 0 :(得分:1)

尝试这样的事情:

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