Descripción del curso Hibernate
Hibernate es un framework de mapeo objeto-relacional (ORM) para Java que facilita la persistencia de datos en bases de datos relacionales. Implementa la especificación Jakarta Persistence (JPA), lo que permite a los desarrolladores trabajar con objetos Java en lugar de escribir consultas SQL directamente. Hibernate se encarga de traducir las operaciones sobre objetos en sentencias SQL, gestionando de forma transparente el ciclo de vida de las entidades, las transacciones y la caché.
Desde su primera versión en 2001, Hibernate se ha consolidado como el ORM más utilizado en el ecosistema Java. Su versión actual, Hibernate 6, incluye mejoras significativas como el nuevo modelo de consultas semánticas (SQM), soporte para Jakarta EE 10, compatibilidad con Java 17, 21 y 25, y un sistema de tipos más flexible y extensible.
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.