Saltar la navegación

13.- Resumen del lenguaje HQL

  • Clausula from: La consulta más simple que se puede realizar con Hibernate, es utilizando la cláusula from, la siguientes sería una consulta que mostraría todos los datos de una tabla de nombre Alumnos: from Alumnos
  • Cláusula select: La cláusula select escoge qué objetos y propiedades devolver en el conjunto de resultados de la consulta. Un ejemplo de consulta podría ser select alumno.nombre from Alumnos alumno where alumno.nombre like 'A%'
  • La cláusula where: La cláusula where nos permite refinar la lista de instancias retornadas. Si no existe ningún alias, puede referirse alas propiedades por nombre: from Alumnos where nombre='Francisco'. Si existe un alias, usaremos un nombre de propiedad calificado: from Alumnos as alumnos where alumnos.nombre='Francisco'. Esto retorna instancias de Alumnos llamados "Francisco".
  • Funciones  de  agregación.  Las  consultas  HQL  pueden  retornar  resultados  de  funciones  de  agregación  sobre propiedades:  select  avg(alumnos.nota),  sum(alumnos.nota),  max(alumnos.nota),   count(alumnos)  from  Alumnos alumnos.
  • Expresiones.  Las  expresiones  utilizadas  en  la  cláusula  where  incluyen  lo  siguiente:  operadores  matemáticos, operadores de comparación binarios, operadores lógicos, paréntesis ( ) que indican agrupación, funciones Java, etc.
  • La cláusula order by. La lista retornada por una consulta se puede ordenar por cualquier propiedad de una clase retornada  o componentes. La palabra asc o desc opcionales indican ordenamiento ascendente o descendente respectivamente.
  • La cláusula group by. Una consulta que retorna valores agregados se puede agrupar por cualquier propiedad de una clase retornada o componentes:
    • Subconsultas. Para bases de datos que soportan subconsultas, Hibernate soporta subconsultas dentro de consultas.

Una subconsulta se debe encerrar entre paréntesis (frecuentemente por una llamada a una función de agregación SQL). Incluso se permiten subconsultas correlacionadas (subconsultas que se refieren a un alias en la consulta exterior). (fuente @vanza IES Augustóbriga)

Obra publicada con Licencia de Documentación Libre de GNU (GNU Free Documentation License) (Versión local)