Spring BOOT: integración con JSP

logo spring

Jakarta Server Pages (JSP), antes conocida como Java Server Pages, es la tecnología de generación dinámica de páginas web que Java propone como estándar o especificación. A día de hoy se puede considerar un vestigio del pasado, pues hace años que contamos con motores de plantillas tales como Thymeleaf que ofrecen mejores capacidades. Además, la tendencia actual es la creación de clientes JavaScript, con Angular, React y similares, que interactúan con APIs REST.

Seguir leyendo

Curso Jakarta EE 9 (39). JPA con Hibernate (22): Procedimientos almacenados SQL

logo Jakarta EE

Los procedimientos almacenados (stored procedures) suelen ser ignorados por los programadores no especialistas en bases de datos. Pero son una herramienta con un ámbito de aplicación más que interesante y que podemos usar fácilmente con JPA sin tener que recurrir a la API JDBC. Por ello, los vemos en este pequeño capítulo que complementa el estudio del empleo de SQL con JPA e Hibernate.

Seguir leyendo

Curso Jakarta EE 9 (38). JPA con Hibernate (21): trabajando con SQL

logo Jakarta EE

Idealmente, las consultas en JPA se escriben con JPQL \ Criteria API utilizando el modelo de entidades para que sean agnósticas con respecto a la base de datos. No obstante, contamos con un magnífico soporte para la ejecución de consultas SQL, denominadas «nativas» en la especificación. ¿Por qué querríamos recurrir a él? Ya apunté algunos motivos en la introducción a los capítulos dedicados a JPA.

Seguir leyendo

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