1

我想使用GORM的executeQuery做一个简单的内部连接,但得到一个QuerySyntaxException .....我相信我的hql没问题。这里是我的查询grails gorm executeQuery HQL内部连接

def query = Institution.executeQuery("select longName from Institution inner join TacticalIndustryCode.idInstitution") 
log.info(query.size()) 

我试图与同样的错误太:

def query = Institution.executeQuery("from Institution inner join TacticalIndustryCode.id") 

这里是我的例外,我接受

org.hibernate.hql.ast.QuerySyntaxException: Invalid path: 'null.idInstitution' [select longName from erebus.industryGroup.Institution inner join TacticalIndustryCode.idInstitution] 
    at erebus.industryGroup.TacticalIndustryCodeController$$ENunaZiV.list(TacticalIndustryCodeController.groovy:20) 
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195) 
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
+0

你需要阅读http://docs.jboss.org/hibernate/orm/3.5/reference/en/html/queryhql.html#queryhql -joins –

回答

1

确保您有一个名为“idInstitution场'在域'TacticalIndustryCode'。

请记住,当您编写HQL时,您不会引用表或其列。而是使用映射的类及其属性。