Использование объединения в GORM-запросах Grails - PullRequest
2 голосов
/ 15 июля 2011

В Grails мы определяем доменные классы таким образом, чтобы четко указывать отношения между доменными классами, такими как один к многим или ownTo (если есть). Поскольку Grails основан на DRY, означает ли это, что нам не нужно использовать ключевое слово join при выполнении сложных запросов HQL в методе Grails DomainClass.ExecuteQuery?

Ответы [ 2 ]

3 голосов
/ 15 июля 2011

Grails не меняет того, как вы пишете свой HQL , это не зависит от того, используете ли вы доменные классы Grails или POJO.Если вам нужно написать запросы для навигации по графу объектов, вам нужно использовать тот же синтаксис, что и в HQL, например FROM parent p JOIN p.child c WHERE c.age = 10.Запросы критериев работают таким же образом, но вы просто можете использовать замыкания.

Для получения дополнительной информации посмотрите документацию (раздел 5.4.3) .1010 *

1 голос
/ 15 июля 2011

Как правило, нет, вам не нужны явные объединения, потому что Hibernate знает о связях таблиц, основанных на связях классов домена. Единственным исключением являются коллекции, и можно использовать объединения для настройки поведения по умолчанию. Лучший ресурс по HQL - это документация по Hibernate: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html

...