【问题标题】:grails gorm executeQuery HQL inner joingrails gorm executeQuery HQL 内连接
【发布时间】:2013-01-17 17:04:14
【问题描述】:

我正在尝试使用 GORM 的 executeQuery 进行简单的内部联接,但得到 QuerySyntaxException .....我相信我的 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)

【问题讨论】:

标签: hql grails-orm grails-domain-class grails-controller executequery


【解决方案1】:

确保在域“TacticalIndustryCode”中有一个名为“idInstitution”的字段。

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

【讨论】:

    【解决方案2】:
    def query = Institution.executeQuery("select inst.longName from Institution as inst inner join inst.tacticalIndustryCode")
    

    更多信息请点击链接: http://grails.asia/grails-hql-join-examples

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多