1

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)
4

2 に答える 2

1

idInstitutionドメイン ' ' に' 'というフィールドがあることを確認してくださいTacticalIndustryCode

HQL を記述するときは、テーブルまたはその列を参照しないことに注意してください。代わりに、マップされたクラスとそのプロパティを使用します。

于 2013-06-11T09:17:13.243 に答える
0
def query = Institution.executeQuery("select inst.longName from Institution as inst inner join inst.tacticalIndustryCode")

詳細については、リンクをたどってください: http://grails.asia/grails-hql-join-examples

于 2016-12-15T06:35:03.297 に答える