The sample projects developed in this blog’s posts are stored in Git repositories, the most popular code version control system. They’re freely accessible on GitHub. If you want to download the repositories and import their projects into your integrated development environment (IDE), you´re reading the right tutorial.
READ MORECurso Spring Data JPA. 12: consultas programáticas 3. QueryDSL
En el capítulo anterior aprendiste a seleccionar entidades con predicados de Criteria API. Esto te permite construir consultas dinámicas tipadas. En este capítulo mostraré cómo lograr lo mismo con predicados de la librería QueryDSL. Antes de eso, explicaré por qué deberías considerar QueryDSL y productos similares como alternativas a Criteria API.
Seguir leyendoCurso Spring Data JPA. 11: consultas programáticas 2. Criteria API (Specifications)
En el capítulo previo aprendiste a escribir consultas programáticas con la técnica consulta basada en ejemplo (QBE), sencilla pero limitada. En este capítulo descubrirás cómo Spring Data JPA se integra con la API Criteria de JPA. Esto te permitirá crear consultas dinámicas más complejas que las basadas en QBE.
Seguir leyendoCurso Spring Data JPA. 10: Consultas programáticas 1. Query by Example
Los tipos de consultas estudiados hasta el momento declaran consultas estáticas. Esto significa que una vez declaradas nunca cambiarán, salvo por la configuración de la ordenación y paginación. En este capítulo veremos la manera más simple de construir consultas dinámicas programáticas; esto es, generadas con código en tiempo de ejecución.
Seguir leyendoAndroid: Sidebar menu with Navigation drawer
Navigation Drawer is one of the most important visual components defined by Material Design. Maybe its name doesn’t tell you anything, but you know it well as a user. It’s the popular side menu that slides from the left (or the right in the case of right-to-left languages) and usually has a hamburger button to display it.
READ MORESpring Boot: custom properties with @ConfigurationProperties
The configuration properties for Spring Boot and the supported third parties libraries take their values in the application.properties
file, or application.yml
if you prefer the YAML format. But how do we get their values? What about the custom properties of our projects? In this tutorial I give you the answers—easy solutions that you can apply immediately.
Curso Spring Data JPA. 9: paginación
He destacado en varias ocasiones a lo largo del curso la importancia de recuperar de la base de datos solo la información imprescindible. En el capítulo siete aplicamos este principio a las proyecciones, e insistí en favorecer el empleo de interfaces, DTOs y records
frente a entidades. En el presente lo aplicaremos a la cantidad de registros a recuperar.
Curso Spring Data JPA. 8: ordenación
A priori, la ordenación de los resultados de las consultas parece un asunto menor y rápido de tratar. Sin embargo, hay bastante de qué hablar, tal y como descubrirás en este capítulo.
Seguir leyendo
Spring Boot testing: Docker with Testcontainers and JUnit 5. MySQL and other images.
When approaching the design of integration and end-to-end tests, we have to decide what to do with the external systems that our application uses. The most typical case is databases. Also, we should remember that creating test doubles objects defeats the purpose of this type of testing.
READ MORECurso Spring Data JPA. 7: proyecciones personalizadas con interfaces, DTOs y records.
Hasta ahora, las consultas que hemos implementado en el curso (derivadas y JPQL) retornan entidades o un único valor escalar (una cadena, un número, un lógico). Una limitación importante porque nos impide proyectar cualquier conjunto de datos. Asimismo, está el hecho, nada evidente, de que recuperar entidades tiene implicaciones que no siempre necesitamos asumir.
Seguir leyendoCurso Spring Data JPA. 6. Consultas JPQL con @Query.
Las consultas derivadas son tan sencillas e intuitivas que apenas se requiere práctica para escribirlas y leerlas con soltura. Sin embargo, esta simplicidad conlleva limitaciones.
Pero no te preocupes. Para que nada te limite, en este capítulo te enseño a declarar y ejecutar con Spring Data JPA consultas escritas con el lenguaje JPQL. Con ellas expresarás casi lo mismo que con las consultas SQL. Y lo mejor de todo: no echarás de menos la simplicidad de las consultas derivadas.
Seguir leyendo
Curso Spring Data JPA. 5. Consultas derivadas (derived queries)
Ha llegado el momento de crear nuestras primeras consultas. Comencemos por la técnica más simple y llamativa. Escribir consultas con ella es un juego de niños del que voy a enseñarte las reglas.
Seguir leyendo