[FDJ-010] Hibernate
- Pronoide Wiki Web
Este curso aborda desde conceptos básicos como JDBC y transacciones hasta técnicas avanzadas. Incluye mapeo de entidades y relaciones, estrategias de herencia, consultas HQL y Criteria, manejo de concurrencia y caché, además de patrones web. Se exploran también interceptores, eventos y creación de tipos personalizados.
Duración: 25 horas
Perfil: Avanzado
Dirigido a
Esta acción formativa va dirigida a programadores y analistas Java que deseen profundizar en el uso de Hibernate para la gestión de persistencia en aplicaciones, implementar soluciones eficientes y escalables.
Requisitos previos
Los alumnos necesitarán tener experiencia con el lenguaje de programación Java, así como de JDBC y SQL previos para poder comprender la materia del curso con éxito. Recomendable pero no requerido conocimientos de Servlets, JSP y el patrón MVC.
Objetivos
- Comprender y aplicar los conceptos fundamentales de Hibernate.
- Aprender a realizar consultas avanzadas.
- Gestionar estados de objetos, concurrencia y transacciones.
- Implementar patrones de diseño.
- Explorar conceptos avanzados.
Contenido
Introducción a JDBC y Transacciones
- Repaso de conceptos básicos de JDBC
- Gestión de transacciones en aplicaciones Java
Mapeo de Entidades y Value Types
- Mapeo de clases a tablas mediante XML
- Mapeo utilizando anotaciones en Java
Mapeo de Colecciones
- Configuración y uso de listas, conjuntos, mapas y arrays
Mapeo de Relaciones entre Entidades
- Relaciones uno a uno, uno a muchos, muchos a uno y muchos a muchos
- Implementación de relaciones bidireccionales
Mapeo de Herencia
- Estrategias para el mapeo de jerarquías de clases (tabla por clase, tabla por jerarquía, tabla por subclase)
- Combinación de estrategias según necesidades del modelo
Estados de los Objetos en Hibernate
- Estados persistente, transitorio y detached
- Ciclo de vida de los objetos gestionados por Hibernate
Consultas en Hibernate
- Uso de Hibernate Query Language (HQL) para consultas avanzadas
- Consultas mediante Criteria API (QBC) y el patrón ByExample (QBE)
Concurrencia y Gestión de Transacciones
- Versionado de entidades para control de concurrencia
- Estrategias de bloqueo (optimista y pesimista)
Patrones de Uso en Aplicaciones Web
- Implementación de OpenSessionInView
- Uso de ConversationFilter para la gestión de sesiones largas
Conceptos Avanzados
- Creación y uso de tipos personalizados
- Implementación de interceptores y manejo de eventos
- Adaptación de dialectos para diferentes bases de datos
Gestión de Cachés
- Configuración y uso de caché de primer y segundo nivel
Documentación Recomendada
Java Persistence with Hibernate, Second Edition
Christian Bauer, Gavin King, and Gary Gregory
Octubre 2015 | 608 páginas
https://www.manning.com/books/java-persistence-with-hibernate-second-edition