Spring Data JPA e Hibernate
Domina la persistencia Java de verdad: mapeo de entidades y relaciones, persistence context, repositorios y consultas con Spring Data, transacciones, problema N+1 y optimización del rendimiento.
- Nivel
- Intermedio
- Duración
- 24 horas
- Modalidades
- Online en directo · In-company · A medida
- Dirigido a
- Desarrolladores Java/Spring que trabajan con bases de datos relacionales y quieren dominar JPA.

¿Qué es este curso y por qué te interesa?
La capa de persistencia es donde más aplicaciones Spring sufren en producción: consultas N+1 que multiplican la carga de la base de datos, LazyInitializationException en el peor momento, transacciones que no hacen lo que parecen y mapeos que generan SQL monstruoso. La causa casi siempre es la misma: usar Spring Data JPA como una caja negra sin entender Hibernate, el motor que trabaja debajo.
Este curso abre esa caja. Se estudia el persistence context y los estados de las entidades, el mapeo de relaciones con sus estrategias de carga, y por qué cada decisión de mapeo tiene consecuencias en el SQL generado. Sobre esa base se domina la capa de Spring Data: repositorios, query methods, JPQL, projections, Specifications y paginación, junto con las transacciones y su propagación, el área donde más confusión existe en los equipos.
La parte final se dedica al rendimiento, con el problema N+1 como protagonista: detectarlo, medirlo y resolverlo con fetch joins, entity graphs o rediseño del mapeo. Se cubren también el bloqueo optimista y pesimista, las cachés de Hibernate y las migraciones de esquema con Flyway. Todo se practica sobre PostgreSQL con un modelo de datos realista, inspeccionando el SQL real que genera cada técnica.
Capacidades que adquirirás
- Mapear entidades y relaciones con criterio, entendiendo el SQL que genera cada decisión.
- Comprender el persistence context: estados de entidad, dirty checking y flush.
- Construir consultas con Spring Data: query methods, JPQL, projections y Specifications.
- Gestionar transacciones correctamente: propagación, rollback y límites de los proxies.
- Detectar y resolver el problema N+1 y optimizar el rendimiento de la persistencia.
Objetivos del curso
- 01Entender la relación entre JPA, Hibernate y Spring Data y qué aporta cada capa.
- 02Modelar entidades y relaciones evitando los errores clásicos de mapeo.
- 03Dominar el ciclo de vida de las entidades y el funcionamiento del persistence context.
- 04Elegir la estrategia de consulta adecuada para cada caso: derivadas, JPQL o nativas.
- 05Configurar transacciones con la propagación y el aislamiento correctos.
- 06Diagnosticar y optimizar el rendimiento: N+1, fetch, índices y cachés.
¿Es este curso para ti o para tu equipo?
Desarrolladores Java/Spring que trabajan con bases de datos relacionales y quieren dominar JPA.
Desarrolladores backend Java/Spring
Programadores que usan Spring Data a diario pero sufren problemas de rendimiento, lazy loading o transacciones.
Equipos con aplicaciones lentas por la capa de datos
Equipos cuya aplicación degrada con el volumen y necesitan diagnosticar y optimizar el acceso a datos.
Desarrolladores que llegan a JPA desde SQL u otros ORMs
Perfiles con experiencia en bases de datos o en ORMs de otros lenguajes que se incorporan al stack Java.
Temario completo
Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.
- Qué es cada pieza: especificación, implementación y abstracción.
- Configuración en Spring Boot: datasource, dialecto y propiedades clave.
- Visibilidad del SQL: logging de sentencias y parámetros desde el primer día.
- Mapeo objeto-relacional: el desajuste de fondo y sus consecuencias.
Cómo se imparte
Práctica desde la primera sesión
Cada bloque combina explicación, demostración y laboratorio. Los alumnos trabajan sobre casos reales aplicables a su contexto profesional.
Casos de cliente
En programas in-company partimos de los procesos y datos del cliente. La formación deja de sonar genérica y empieza a resolver problemas concretos.
Materiales de apoyo
Los participantes reciben código, plantillas y guías reutilizables tras la formación. Lo que se aprende se mantiene en el día a día.
Adaptación al nivel del equipo
Antes de impartir, hacemos un breve diagnóstico y ajustamos profundidad y ritmo. La formación no se queda corta ni avanza por encima del grupo.
Modalidades disponibles
Cada formato puede adaptarse al ritmo y al contexto operativo de la organización.
Online en directo
Sesiones en streaming con interacción en vivo, ejercicios guiados y resolución de dudas.
In-company
Programa diseñado a medida y impartido para un único equipo o organización.
A medida
Itinerario completamente personalizado: temario, duración, formato y casos del cliente.
¿Por qué contratar este programa para tu equipo?
La formación no se diseña contra un examen, se diseña contra un objetivo de negocio.
- Mejora de productividad real en el puesto de trabajo.
- Actualización de competencias clave para el negocio.
- Mayor autonomía técnica y reducción de dependencia externa.
- Aplicación práctica inmediata sobre procesos del cliente.
- Mejor adopción tecnológica con criterios profesionales.
- Preparación para proyectos de IA, datos, automatización o desarrollo.
¿Se puede gestionar como formación bonificada?
Este curso puede plantearse como formación para empresas y, según las condiciones de cada organización, podría gestionarse dentro de iniciativas de formación bonificada. En DatIACode te ayudamos a estructurar la propuesta formativa y la documentación necesaria para su valoración.
¿Qué necesitas saber antes de empezar?
- Experiencia con Java y nociones de Spring Boot.
- Conocimientos de SQL: consultas, joins y claves.
- Nociones de Docker para el entorno con PostgreSQL y Testcontainers.
Cómo se aplica lo aprendido
- Diseño de la capa de persistencia de aplicaciones Spring Boot.
- Optimización de aplicaciones con problemas N+1 y consultas lentas.
- Modelado de dominios complejos con relaciones y herencia.
- Gestión correcta de transacciones en procesos de negocio críticos.
- Migraciones de esquema controladas en entornos con datos reales.
- Testing fiable de la capa de datos con bases de datos reales.
Por qué elegir DatIACode
No vendemos formación: diseñamos programas que se traducen en capacidad operativa real.
Experiencia aplicada
Más de 20 años combinando consultoría, desarrollo y formación tecnológica para empresas de distintos sectores.
Visión de negocio
Cada programa parte de los objetivos del cliente. La técnica está al servicio del problema, no al revés.
Adaptación al equipo
Ajustamos profundidad, ritmo y casos de uso al nivel real del equipo tras un breve diagnóstico inicial.
Formación + consultoría
Si la formación destapa un proyecto, podemos acompañarte en su implantación. No abandonamos el resultado.
Especialización en IA
Trabajamos en IA aplicada todos los días. La formación no la imparte alguien que solo enseña, la imparte alguien que también construye.
Orientación a resultados
Entregables tangibles y métricas pactadas. Sin promesas vacías.
FAQ
Porque Spring Data es una capa de conveniencia sobre Hibernate, no un sustituto. Los problemas serios (N+1, lazy loading, dirty checking inesperado, SQL ineficiente) ocurren en el nivel de Hibernate, y sin entenderlo solo puedes probar cosas al azar. El curso enseña las dos capas y cómo se relacionan.
Cuéntanos qué necesitas
Te respondemos en menos de 24h laborables con disponibilidad, opciones de modalidad y propuesta a medida si aplica.
- Diagnóstico inicial sin compromiso.
- Propuesta adaptada al nivel y al sector.
- Asesoramiento sobre formación bonificada.
Cursos relacionados
Ver todos los cursos- Ver curso
Programación20 horasSpring Framework: Core, IoC, Beans y configuración
- Ver curso
Programación30 horasDesarrollo backend con Java y Spring Boot
- Ver curso
Programación20 horasSpring Security con JWT y OAuth2
