Spring Data Custom Query o consultas personalizadas con Spring Data es uno de los conceptos más habituales que aparecen cuando uno empieza a trabajar con profundidad con este framework. Para generar una consulta personalizada con Spring Data debemos usar la anotación @Query vamos a ver un ejemplo usando la clase Libro: Normalmente cuando queremos hacer […]
n+1 Queries y sus problemas
El problema de las n+1 Queries es uno de los problemas más habituales cuando trabajamos con Domain Driven Design y frameworks de Persistencia . ¿Que es una n+1 Query y como nos podemos encontrar en una situación límite con ellas?. Vamos a explicarlo paso a paso . En primer lugar el problema aparece normalmente cuando […]
JPA Orphan Removal y como usarlo
JPA Orphan Removal ,es una de las características con las que todos los desarrolladores cuando empiezan tienen problemas. Cuando nosotros trabajamos con bases de datos las relaciones más comunes son las de 1 a n . Por ejemplo un Libro dispone de varios Capítulos esto es una relación de 1 a n . Vamos a […]
JPA Single Table Inheritance
Vamos a construir un ejemplo de JPA Single Table inheritance. La herencia es una de las características que menos se comprende cuando hablamos de frameworks de persistencia. En este caso vamos a ver la casuística más sencilla, una jerarquía de clases que se almacenan en una única Tabla. JPA Single Table Inheritance implementación Vamos a […]
JPA Transaction, un concepto importante
El concepto de JPA Transaction es uno de los conceptos claves cuando uno comienza a trabajar con JPA ( Java Persistence API) . Sin embargo una transacción es un concepto que pertenece más a las bases de datos que a JPA propiamente dicho . ¿Que es exactamente una transacción?. Una transacción hace referencia a una […]
Webinar: Generic Repository JPA y buenas prácticas
Este Webinar esta orientado a los desarrolladores que necesitan construir un Generic Repository sólido para sus aplicaciones con JPA. (Java Persistence API) . Generic Repository A la hora de utilizar Genéricos con JPA existen muchas opciones de construir los repositorios y no todas son óptimas. En este Webinar aprenderás sobre Genéricos , Optionals ,Streams y […]
Spring @Transactional readonly y optimizaciones
El uso de Spring @Transactional readonly es una de las características que en muchas ocasiones nos olvidamos al manejar Spring Framework. Spring nos provee de las capacidades de inyección de gestión transaccional distribuida y transparente para nuestros repositorios y servicios. Ahora bien eso no quiere decir que no delege en JPA para realizar estas tareas […]
JPA @OneToOne y relaciones 1 a 1
JPA @OneToOne , en muchas ocasiones nos encontramos trabajando con JPA y construyendo relaciones @OneToMany @ManyToOne ya que son las más habituales pero nos olvidamos de las relaciones @OneToOne que aunque no son las más habituales existen y tienen casuísticas bastante comunes . Imaginémonos un gimnasio en el cual cada Socio tiene una tarjeta que […]