Ejercicio de programación: Reto Optimización de asociaciones con carga lazy
Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Hibernate. Es un ejercicio avanzado que pondrá a prueba tus conocimientos expertos.
Información adicional del ejercicio
Configurar estrategias de carga lazy y eager en asociaciones JPA, identificar el problema N+1 y aplicar optimizaciones básicas.
Contenido del ejercicio
Tienes tres entidades relacionadas: Order
, Customer
y OrderItem
. Cada pedido pertenece a un cliente y puede tener múltiples elementos. Tu tarea es completar las configuraciones de carga en las asociaciones para optimizar el rendimiento.
Parte 1: Configuración de FetchType
Completa las anotaciones @ManyToOne
y @OneToMany
en las entidades proporcionadas:
- La asociación
Order -> Customer
debe usar carga LAZY para evitar cargar clientes innecesarios - La asociación
Order -> OrderItem
debe usar carga EAGER porque siempre necesitamos los elementos del pedido - La asociación
OrderItem -> Order
debe usar carga LAZY
Parte 2: Optimización con @BatchSize
Añade la anotación @BatchSize
en la colección de orderItems
de la entidad Order
con un tamaño de lote de 10 para optimizar la carga de elementos.
Parte 3: Consulta JPQL optimizada
Escribe una consulta JPQL en el método findOrdersWithCustomers()
que use JOIN FETCH
para cargar pedidos junto con sus clientes en una sola consulta, evitando el problema N+1.
Instrucciones:
- Completa las anotaciones de mapeo en las tres entidades
- Añade
@BatchSize
donde se indica - Escribe la consulta JPQL con JOIN FETCH
- No modifiques la estructura de las clases, solo completa las anotaciones y la consulta
Lección relacionada
Este ejercicio está relacionado con la lección "Optimización de asociaciones con carga lazy" de Hibernate. Te recomendamos revisar la lección antes de comenzar.
Ver lección relacionadaMás ejercicios de Hibernate
Explora más ejercicios de programación en Hibernate para mejorar tus habilidades y obtener tu certificación.
Ver más ejercicios de HibernateSolución al ejercicio de programación en Hibernate
¡Desbloquea la solución completa!
Completa el ejercicio de programación en Hibernate para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en Hibernate
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en Hibernate