[FDJ-010] Hibernate
Este curso ofrece una formación completa sobre el mapeo de entidades, relaciones y herencia en bases de datos, utilizando XML y anotaciones en Java. También abarca consultas avanzadas con HQL y Criteria API, gestión de transacciones, concurrencia, patrones de uso en aplicaciones web, caché y conceptos avanzados como interceptores y tipos personalizados.
Duración: 20 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.
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
- 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