Внутреннее соединение Grails Gorm ExecutingQuery HQL

Я пытаюсь выполнить простое внутреннее соединение, используя 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)

person user1981882    schedule 17.01.2013    source источник
comment
вам нужно прочитать docs.jboss. org/hibernate/orm/3.5/reference/en/html/   -  person Pitsanu Swangpheaw    schedule 21.01.2013


Ответы (2)


Убедитесь, что у вас есть поле с именем «idInstitution» в домене «TacticalIndustryCode».

Помните, что когда вы пишете HQL, вы не ссылаетесь на таблицу или ее столбцы. Вместо этого вы используете сопоставленный класс и его свойства.

person biniam    schedule 11.06.2013

def query = Institution.executeQuery("select inst.longName from Institution as inst inner join inst.tacticalIndustryCode")

Для получения дополнительной информации перейдите по ссылке: http://grails.asia/grails-hql-join-examples

person Kundan Ray    schedule 15.12.2016