Ejercicio de programación con Hibernate: Carga de asociaciones en consultas con EntityGraph y anotaciones

Código
Práctica
0h 15m

Ejercicios JPA Carga Asociaciones Entity Graph. Domina la carga de asociaciones con Entity Graph en JPA mediante ejercicios prácticos.

Se tiene un modelo simple que involucra dos entidades: Autor y Libro. Cada Autor puede tener múltiples Libros.

Las clase Autor deberá ser anotada apropiadamente para que Hibernate pueda gestionarla como entidad. Además, deberás utilizar EntityGraph para optimizar la consulta, de forma que un autor se recupere junto con sus libros, trayendo únicamente el titulo en cada entidad Libro asociada. Debes usar las anotaciones @NamedEntityGraph, @NamedAttributeNode y @NamedSubgraph para configurar el grafo de entidades. Asume que la entidad Libro ya está creada, solo tienes que crear Autor.

La entidad Autor tiene los siguientes campos:

  • id (Long, clave primaria)
  • nombre (String)
  • libros (conjunto de Libro, relación OneToMany)

La entidad Libro es:

import jakarta.persistence.*;

@Entity
public class Libro {
    @Id
    @GeneratedValue
    private Long id;

    private String titulo;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "autor_id")
    private Autor autor;

    // Constructor, getters y setters no incluidos para simplificar
}

No es necesario implementar métodos como getters/setters ni constructores para este ejercicio.

Empezar ejercicio de programación

Todos los ejercicios de programación de Hibernate

Evalúa tus conocimientos con ejercicios de programación en Hibernate de tipo Test, Puzzle, Código y Proyecto con VSCode.

Asociación One To Many

Hibernate
Puzzle

Carga de asociaciones en consultas con EntityGraph

Hibernate
Código

CRUD en Hibernate

Hibernate
Código

Funciones en consultas JPQL

Hibernate
Código

Asociación Many To Many

Hibernate
Puzzle

Asociación One To One

Hibernate
Puzzle

Asociación Many To One

Hibernate
Puzzle

Tipos de datos embebidos

Hibernate
Código

Asociación Many To Many entre Actor y Pelicula

Hibernate
Código

CRUD de entidades con asociaciones

Hibernate
Proyecto

Asociación Many To One

Hibernate
Test

Optimización de asociaciones con carga lazy

Hibernate
Código

Asociación One To Many

Hibernate
Test

Atributos de tipo enum en entidades JPA

Hibernate
Código

Consultas Criteria avanzadas

Hibernate
Código

Configuración con Maven

Hibernate
Test

Asociación Many To Many

Hibernate
Test

Consultas Criteria básicas

Hibernate
Código

Introducción a Hibernate

Hibernate
Test

Configuración con Gradle

Hibernate
Test

Asociación One To Many entre Curso y Estudiante

Hibernate
Código

Operaciones en cascada

Hibernate
Puzzle

Operaciones en cascada

Hibernate
Test

Consultas JPQL básicas

Hibernate
Código

Tipos de datos básicos

Hibernate
Test

Asociación One To One

Hibernate
Test

Asociación One To One entre Libro y Resumen

Hibernate
Código

Optimización de consultas con DTOs

Hibernate
Código

Asociación Many To One entre Paciente y Clinica

Hibernate
Código

Atributos @Transient en entidades

Hibernate
Código

Tipos de datos personalizados

Hibernate
Puzzle

Ciclo de vida de una entidad

Hibernate
Código

Consultas JPQL avanzadas

Hibernate
Código

Configuración con JPA

Hibernate
Test

Tutorial para resolver este ejercicio de programación

Hibernate

Hibernate

Carga de asociaciones en consultas con EntityGraph y anotaciones

Optimización

Otros tutoriales de programación con Hibernate