Descripción
Esta prueba requerirá utilizar anotaciones de EntityGraph para definir que atributos de una entidad cargar al recuperarla de base de datos.
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 deLibro
, relación OneToMany)
La entidad Libro
es:
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
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.
Solució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