18.01.2015 Views

Apartado 3.6: Conceptos Avanzados de Hibernate

Apartado 3.6: Conceptos Avanzados de Hibernate

Apartado 3.6: Conceptos Avanzados de Hibernate

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!