Saltar al contenido principal
Formación DatIACode

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.
Sobre el curso

¿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.

Qué aprenderás

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

Objetivos del curso

  1. 01Entender la relación entre JPA, Hibernate y Spring Data y qué aporta cada capa.
  2. 02Modelar entidades y relaciones evitando los errores clásicos de mapeo.
  3. 03Dominar el ciclo de vida de las entidades y el funcionamiento del persistence context.
  4. 04Elegir la estrategia de consulta adecuada para cada caso: derivadas, JPQL o nativas.
  5. 05Configurar transacciones con la propagación y el aislamiento correctos.
  6. 06Diagnosticar y optimizar el rendimiento: N+1, fetch, índices y cachés.
A quién va dirigido

¿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

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.
Metodología

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

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.

Beneficios para empresas

¿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.
Formación bonificada

¿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.

Requisitos previos

¿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.
Aplicaciones

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.
DatIACode

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.

Preguntas frecuentes

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.

Solicitar información

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.
Modalidad de interés*
Número aproximado de alumnos*

Información básica de protección de datos. Responsable: Datiacode Tech S.L.. Finalidad: atender tu solicitud y, si lo aceptas, enviarte comunicaciones comerciales. Legitimación: consentimiento del interesado y/o medidas precontractuales. Destinatarios: encargados de tratamiento descritos en la política. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad escribiendo a privacidad@datiacode.com. Más información en la Política de Privacidad.

  • Ver curso
    Programación20 horas

    Spring Framework: Core, IoC, Beans y configuración

  • Ver curso
    Programación30 horas

    Desarrollo backend con Java y Spring Boot

  • Ver curso
    Programación20 horas

    Spring Security con JWT y OAuth2

Ver todos los cursos