Tengo cuatro tablas:HQL: Fetch Únete Colecciones de la Tabla Eager
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
y una estructura de entidad similar:
RootNode -> SubNode -> SubNodeChildren1
-> SubNodeChildren2
necesito una consulta que devolverá todo el RootNodes
en la tabla con sus hijos SubNode
y SubNode
inicializados. Se busca con impaciencia el SubNode
, pero los hijos SubNode
son flojos.
Sé cómo escribir una consulta que va a LEFT OUTER JOIN FETCH
los hijos inmediatos de una tabla y los inicializa en consecuencia. Sin embargo, no tengo idea de cómo agarrar a los niños de una mesa que se busca con entusiasmo de la mesa de alto nivel.
He intentado algo así como:
SELECT rn FROM RootNode AS rn LEFT OUTER JOIN FETCH rn.SubNode.SubNodeChildren1
pero, esto siempre me da un error que el propietario no es parte de la instrucción SELECT.
Cualquier ayuda es muy apreciada.
+1 Me pregunto por qué [las incorporaciones anidadas] (http://en.wikibooks.org/wiki/Java_Persistence/Relationships#Nested_Joins) no están permitidas en JPA. –