[FDJ-030] Desarrollo de Aplicaciones con JPA
Este curso cubre el mapeo de entidades, relaciones entre ellas, manejo del ciclo de vida y eventos de las entidades, así como consultas JPQL y Criteria. Incluye temas como concurrencia, transacciones, cascada, inicialización perezosa y patrones de uso, además de integración con Spring y Spring Boot.
Duración: 15 horas
Perfil: Avanzado
Dirigido a
Esta acción formativa va dirigida a programadores y analistas Java interesados en desarrollar aplicaciones Java con la capa de persistencia implementada con especificación JPA: Java Persistence API (JPA), y dominar tanto los mapeos entre entidades como los estados de los objetos en la aplicación.
Requisitos previos
Los alumnos necesitarán tener experiencia con el lenguaje de programación Java. Recomendable pero no requerido conocimientos de Spring framework.
Objetivos
Aprender a mapear entidades y relaciones entre ellas.
Dominar el manejo del
EntityManagery el ciclo de vida de las entidades.Implementar consultas avanzadas.
Integrar JPA eficientemente en aplicaciones Spring y Spring Boot.
Conocer patrones de uso comunes para optimizar el rendimiento y la gestión de sesiones.
Contenido
Introducción a JPA
Mapeo de Entidades
Definición y configuración de entidades en JPA
Manejo del EntityManager
Operaciones básicas: persistencia, actualización, eliminación y consulta de entidades
Ciclo de Vida de una Entidad
Estados de una entidad: transitoria, persistente y eliminada
Eventos del ciclo de vida: @PrePersist, @PostPersist, @PreRemove, @PostRemove, @PreUpdate, @PostUpdate
Mapeo de Colecciones
Mapeo de colecciones de entidades: List, Set, etc
Mapeo de Relaciones entre Entidades
Relaciones uno a uno, uno a muchos, muchos a uno, muchos a muchos
Relaciones bidireccionales y unidireccionales
Cascade
Propagación de operaciones sobre entidades relacionadas (persist, merge, remove)
Inicialización Perezosa
Configuración de la carga perezosa (Lazy Loading) y carga inmediata (Eager Loading)
Mapeo de Herencia
Estrategias de mapeo de herencia: Tabla por clase (SINGLE_TABLE), Tabla por jerarquía (JOINED), Tabla por subclase (TABLE_PER_CLASS)
Consultas JPQL
Lenguaje de consultas de JPA: sintaxis, filtros, ordenamiento, agrupamiento y unión de resultados
Consultas Criteria
Uso de la API Criteria para crear consultas tipo SQL de manera programática y flexible
Concurrencia y Transacciones
Control de concurrencia en JPA: optimista y pesimista
Versionado de entidades y mecanismos de bloqueo
Patrones de Uso
Patrones comunes en la gestión de sesiones: OpenSessionInView y ConversationFilter
Integración con Spring y Spring Boot
Documentación Recomendada
Java Persistence with Spring Data and Hibernate
Cătălin Tudose
January 2023 | 616 pages
https://www.manning.com/books/java-persistence-with-spring-data-and-hibernate