Curso Hibernate

ORM de referencia en el stack Java empresarial. Modelo de entidades, asociaciones, JPQL, Criteria, Entity Graph, caché y optimización de rendimiento con Jakarta Persistence e Hibernate moderno.

Certificado profesional
Hibernate
Hibernate
Framework
3 horas
12 módulos
25 lecciones
40 ejercicios
Red Hat
Documentación oficial
Actualizado: 26/04/2026

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

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:

  1. 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.xml y hibernate.cfg.xml. Se explican los componentes clave como SessionFactory y EntityManager.

  2. Entidades JPA y tipos de datos: anotaciones fundamentales como @Entity, @Table, @Id y @Column. Estrategias de generación de identificadores, mapeo de enumeraciones, tipos embebidos con @Embeddable, campos transitorios y el ciclo de vida de las entidades.

  3. Asociaciones entre entidades: mapeo de relaciones @OneToOne, @ManyToOne, @OneToMany y @ManyToMany. Configuración de @JoinColumn y @JoinTable, operaciones en cascada, orphanRemoval y la diferencia entre carga perezosa (LAZY) y ansiosa (EAGER).

  4. Herencia de entidades: las tres estrategias de herencia de JPA (SINGLE_TABLE, JOINED, TABLE_PER_CLASS), uso de @MappedSuperclass para campos comunes, columnas discriminadoras y consultas polimórficas.

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

  6. API Criteria: construcción de consultas dinámicas y tipadas con CriteriaBuilder, CriteriaQuery y Root. Predicados complejos, joins programáticos, ordenación, agrupación, subconsultas y uso del Metamodel para seguridad de tipos en tiempo de compilación.

  7. Entity Graph y perfiles de carga: resolución del problema N+1 mediante @NamedEntityGraph, @NamedSubgraph y la API programática de EntityGraph. Configuración de perfiles de carga con @FetchProfile.

  8. 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).

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

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

Ejercicios de programación de Hibernate

Explorar más tecnologías

Descubre más tecnologías de programación y desarrollo de software

Alan Sastre - Autor del curso

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.