Hibernate HQL: два уровня соединений - PullRequest
0 голосов
/ 04 марта 2009

Я новичок в HQL и имею следующие отношения в таблице:

  • Term имеет много Definitions
  • Definition имеет много DefinitionProducts
  • DefinitionProducts имеет один Product

Я хочу получить список Terms, у которого есть хотя бы один Definition, у которого есть хотя бы один DefinitionProduct, у которого есть Product

Это моя лучшая попытка (в Grails):

Term.findAll("from Term t, Definition d inner join t.definitions def,  
def.definitionProducts dp where ? = some elements (dp.product)",
Product.get(1))

С учетом вышеизложенного я получаю исключение "def.definitionProducts not mapped".

1 Ответ

4 голосов
/ 04 марта 2009

выберите t из условия t присоединиться t. Определения def join def.definitionProducts dp где dp.product =?

...