HQL: получение объединяемых коллекций из Eager Table
У меня есть четыре таблицы:
RootNode // Will return multiple root nodes
SubNode // Will return one sub node per root node
SubNodeChildren1 // Will return multiple for each sub node
SubNodeChildren2 // Will return multiple for each sub node
и аналогичная структура объекта:
RootNode -> SubNode -> SubNodeChildren1
-> SubNodeChildren2
Мне нужен один запрос, который вернет всеRootNodes
в таблице с егоSubNode
а такжеSubNode
дети инициализированы.SubNode
нетерпеливо доставлен, ноSubNode
дети лениво взяли.
Я знаю, как написать запрос, который будетLEFT OUTER JOIN FETCH
непосредственные потомки таблицы и соответственно инициализируйте их. Тем не менее, я понятия не имею, как получить дочерние элементы таблицы, которая охотно выбирается из таблицы верхнего уровня.
Я пробовал что-то вроде:
SELECT rn FROM RootNode AS rn LEFT OUTER JOIN FETCH rn.SubNode.SubNodeChildren1
но это всегда дает мне ошибку, что владелец не является частью SELECT.
Любая помощь очень ценится.