/
[FDJ-030] Desarrollo de Aplicaciones con JPA

[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 EntityManager y 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

  1. Introducción a JPA
  2. Mapeo de Entidades

    1. Definición y configuración de entidades en JPA
  3. Manejo del EntityManager

    1. Operaciones básicas: persistencia, actualización, eliminación y consulta de entidades
  4. Ciclo de Vida de una Entidad

    1. Estados de una entidad: transitoria, persistente y eliminada
    2. Eventos del ciclo de vida: @PrePersist, @PostPersist, @PreRemove, @PostRemove, @PreUpdate, @PostUpdate
  5. Mapeo de Colecciones

    1. Mapeo de colecciones de entidades: List, Set, etc
  6. Mapeo de Relaciones entre Entidades

    1. Relaciones uno a uno, uno a muchos, muchos a uno, muchos a muchos
    2. Relaciones bidireccionales y unidireccionales
  7. Cascade

    1. Propagación de operaciones sobre entidades relacionadas (persist, merge, remove)
  8. Inicialización Perezosa

    1. Configuración de la carga perezosa (Lazy Loading) y carga inmediata (Eager Loading)
  9. Mapeo de Herencia

    1. Estrategias de mapeo de herencia: Tabla por clase (SINGLE_TABLE), Tabla por jerarquía (JOINED), Tabla por subclase (TABLE_PER_CLASS)
  10. Consultas JPQL

    1. Lenguaje de consultas de JPA: sintaxis, filtros, ordenamiento, agrupamiento y unión de resultados
  11. Consultas Criteria

    1. Uso de la API Criteria para crear consultas tipo SQL de manera programática y flexible
  12. Concurrencia y Transacciones

    1. Control de concurrencia en JPA: optimista y pesimista
    2. Versionado de entidades y mecanismos de bloqueo
  13. Patrones de Uso

    1. Patrones comunes en la gestión de sesiones: OpenSessionInView y ConversationFilter
  14. 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

Related pages