Hibernate HQL Joins

Clase 39 de 55Curso Profesional de Java EE 2017

Resumen

Para crear Joins en HQL es importante mantener los elementos como objetos con sus propiedades respectivas.

Por ejemplo, si tienes la clase:

Gato

  • nombre
  • color
  • raza

Si quisieras ejecutar un query debes poner algo como esto:

from Gato g

Donde g es un alias para acceder a la clase Gato

Ahora supongamos que existe la clase Persona y esta puede tener una colección de mascotas gatitos que son de tipo Gato.

Persona

  • nombre
  • gatitos

Si quisieras saber los nombres de los gatitos de una persona podrías poner algo así:

from Persona p join p.gatitos g

Por último si quisieras ejecutar un filtro, es decir, obtener los gatitos de esa persona que se llamen kitty, podríamos hacer algo como:

from Persona p join p.gatitos g where g.nombre = :nombre_gatito

Recuerda que :nombre_gatito es la sintáxis para indicar que es ese parámetro es una variable que será inyectada con la instrucción: setParameter.

Nota: no olvides poner : (dos puntos) antes del nombre de la variable