Переход в спящий режим HQL:два уровня соединений

StackOverflow https://stackoverflow.com/questions/608287

  •  03-07-2019
  •  | 
  •  

Вопрос

Я новичок в 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 не сопоставлено".

Это было полезно?

Решение

выберите t из термина t присоединиться к t.definitions def присоединиться к def.definitionProducts dp, где dp.product=?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top