Descripción del curso Hibernate
Hibernate es el ORM de referencia del backend Java empresarial y el proveedor JPA por defecto de Spring Data. Se utiliza en plataformas de banca (posiciones globales, extractos, liquidaciones), fintech (motor de pagos, conciliación, reporting), telco (facturación, CRM, inventario de red), logística (WMS, trazabilidad, tariffs), ecommerce (catálogo, pedidos, stock) y sector público (sedes electrónicas, expedientes) para mapear modelos de datos complejos a bases relacionales como PostgreSQL, Oracle, MySQL o SQL Server, sin escribir SQL a mano. Implementa la especificación Jakarta Persistence (JPA) y se encarga de traducir operaciones sobre objetos a sentencias SQL optimizadas, gestionando ciclo de vida de entidades, transacciones, caché y batch fetching.
Las versiones modernas de Hibernate (6.x) incluyen el modelo de consultas semánticas (SQM), integración completa con Jakarta EE en el namespace jakarta.*, compatibilidad con Java 17, 21 y 25 LTS, y soporte nativo para registros Java (record) y tipos sellados (sealed) como proyecciones. El sistema de tipos es flexible y extensible mediante AttributeConverter para tipos propios, y la integración con Spring Boot es la combinación habitual en consultoras IT españolas para construir capas de persistencia robustas.
Itinerario del curso
Este curso de Hibernate está estructurado en 10 módulos progresivos que cubren desde los conceptos fundamentales hasta las características más avanzadas del framework:
-
Introducción e instalación: conceptos de ORM, la relación entre Hibernate y JPA, configuración de proyectos con Maven y Gradle, y los archivos
persistence.xmlyhibernate.cfg.xml. Se explican los componentes clave comoSessionFactoryyEntityManager. -
Entidades JPA y tipos de datos: anotaciones fundamentales como
@Entity,@Table,@Idy@Column. Estrategias de generación de identificadores, mapeo de enumeraciones, tipos embebidos con@Embeddable, campos transitorios y el ciclo de vida de las entidades. -
Asociaciones entre entidades: mapeo de relaciones
@OneToOne,@ManyToOne,@OneToManyy@ManyToMany. Configuración de@JoinColumny@JoinTable, operaciones en cascada,orphanRemovaly la diferencia entre carga perezosa (LAZY) y ansiosa (EAGER). -
Herencia de entidades: las tres estrategias de herencia de JPA (
SINGLE_TABLE,JOINED,TABLE_PER_CLASS), uso de@MappedSuperclasspara campos comunes, columnas discriminadoras y consultas polimórficas. -
Consultas JPQL y HQL: el lenguaje de consultas orientado a objetos de JPA. Consultas con parámetros, joins, funciones agregadas,
GROUP BY,HAVING, subconsultas, named queries y operaciones masivas de actualización y eliminación. -
API Criteria: construcción de consultas dinámicas y tipadas con
CriteriaBuilder,CriteriaQueryyRoot. Predicados complejos, joins programáticos, ordenación, agrupación, subconsultas y uso del Metamodel para seguridad de tipos en tiempo de compilación. -
Entity Graph y perfiles de carga: resolución del problema N+1 mediante
@NamedEntityGraph,@NamedSubgraphy la API programática deEntityGraph. Configuración de perfiles de carga con@FetchProfile. -
Caché y rendimiento: el funcionamiento de la caché de primer nivel (Sessión), configuración de la caché de segundo nivel con proveedores como Ehcache, la caché de consultas, regiones de caché y las estrategias de concurrencia (
READ_ONLY,READ_WRITE,NONSTRICT_READ_WRITE,TRANSACTIONAL). -
Optimización: diagnóstico y resolución del problema N+1, carga por lotes con
@BatchSize, proyecciones con DTO para reducir la transferencia de datos, paginación eficiente y monitorización del rendimiento mediante estadísticas y logging de SQL. -
Características avanzadas: conversores de atributos (
@Convert), listeners y callbacks del ciclo de vida (@PrePersist,@PostLoad), auditoría con Hibernate Envers, multi-tenancy, consultas SQL nativas y llamadas a procedimientos almacenados.
Cada módulo incluye ejercicios prácticos, y el curso finaliza con un test global que evalúa todos los conocimientos adquiridos.
Público objetivo
Este curso está dirigido a desarrolladores Java que deseen dominar la persistencia de datos con Hibernate y JPA. Es ideal para:
- Programadores Java que quieran aprender a mapear objetos a bases de datos relacionales de forma eficiente.
- Desarrolladores que trabajen con Spring Boot y necesiten comprender en profundidad cómo funciona la capa de persistencia.
- Profesionales que busquen optimizar el rendimiento de sus aplicaciones empresariales mediante técnicas avanzadas de caché, carga perezosa y consultas eficientes.
- Estudiantes y profesionales que preparen certificaciones Java o deseen ampliar su perfil con conocimientos sólidos en ORM.
Se recomienda tener conocimientos previos de Java y SQL para aprovechar al máximo el contenido del curso.
Lecciones y tutoriales de Hibernate
Ejercicios de programación de Hibernate
Módulos del curso
Explora todos los módulos disponibles en este curso de Hibernate
Explorar más tecnologías
Descubre más tecnologías de programación y desarrollo de software
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Hibernate es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.