Apartado 3.6: Conceptos Avanzados de Hibernate
Apartado 3.6: Conceptos Avanzados de Hibernate
Apartado 3.6: Conceptos Avanzados de Hibernate
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Más sobre HQL – JOIN (2)<br />
<br />
INNER JOIN explícito<br />
<br />
<br />
Usa la cláusula [INNER] JOIN<br />
Ejemplo: el anterior<br />
DepartmentDao<strong>Hibernate</strong> -> findByEmployeeInPosition<br />
SELECT DISTINCT d<br />
FROM Department d JOIN d.employees e<br />
WHERE e.position = :position ORDER BY d.name<br />
<br />
Equivalente a la consulta SQL<br />
SELECT DISTINCT d.* FROM Department d JOIN Employee e<br />
ON e.<strong>de</strong>pId = d.<strong>de</strong>pId WHERE e.position = 'XXX' ORDER BY d.name<br />
<br />
<br />
Con respecto a la consulta SQL, la sintaxis HQL evita la<br />
condición sobre las claves (entre otras cosas)<br />
Con respecto a un INNER JOIN implícito, el uso <strong>de</strong> la cláusula<br />
JOIN evita la condición e.<strong>de</strong>partment = d (equivalente a la<br />
condición sobre las claves)