Curso Jakarta EE 9 (36). JPA con Hibernate (19): Criteria API (1). Consultas básicas.

logo Jakarta EE

Las consultas JPQL son simples cadenas de texto fáciles de escribir y comprender debido a sus similitudes con el lenguaje SQL. La alternativa dentro de Jakarta Persistence para explotar los datos con el modelo de entidades es la API Criteria. Permite construir consultas de forma programática, esto es, en código Java, y con un tipado absoluto tanto de los parámetros como de los resultados. Lo hace ofreciendo métodos que equivalen a las cláusulas, operadores y funciones de JPQL.

Seguir leyendo

Curso Jakarta EE 9 (35). JPA con Hibernate (18): el lenguaje JPQL\HQL (3). Funciones.

logo Jakarta EE

Completemos la revisión de JPQL examinando sus funciones y cómo podemos sacar partido a las nativas que ofrecen las bases de datos. No está de más subrayar que, por cuestiones de rendimiento, es preferible delegar en la base de datos todo el procesamiento y cálculo que pueda realizar, en lugar de implementarlo nosotros en el código.

Seguir leyendo

Curso Jakarta EE 9 (33). JPA con Hibernate (16): trabajando con JPQL\HQL (2). Proyecciones y paginación.

logo Jakarta EE

Con los conocimientos del capítulo anterior, estamos limitados a consultas que devuelvan un único tipo de entidad o de valor escalar, pese a que ya vimos que JPQL es flexible en este aspecto. Tampoco dimos solución a la recuperación de listados grandes. Dos asuntos de vital importancia en nuestro día a día con JPA que examinamos en detalle en este capítulo.

Seguir leyendo

Curso Jakarta EE 9 (31). JPA con Hibernate (14): el lenguaje JPQL\HQL (1). Consultas básicas y modificaciones.

logo Jakarta EE

El gestor de entidades permite recuperar las entidades que conforman el modelo de datos, incluyendo relaciones entre ellas, gracias a las funciones de carga perezosa e inmediata. Pero no es suficiente. En cualquier aplicación de gestión necesitaremos explotar la información almacenada en la base de datos realizando filtros más o menos complejos, comprobando relaciones, efectuando cálculos… En definitiva, son imprescindibles las posibilidades que nos brinda el lenguaje SQL.

Seguir leyendo