Ejercicio de programación con Hibernate: Ciclo de vida de una entidad

Código
Práctica
0h 15m

Ejercicios JPA Ciclo Vida Entidad. Mejora tu manejo del ciclo de vida de entidades en JPA mediante ejercicios prácticos y ejemplos claros.

Crea un programa en Java utilizando Hibernate que gestione el ciclo de vida de una entidad Libro, asegurándose de que esta entidad pase por los cuatro estados de JPA: Nuevo (New), Gestionado (Managed), Desconectado (Detached) y Eliminado (Removed).

Teniendo la siguiente entidad Libro ya creada:

// imports
@Entity
public class Libro {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String titulo;
    private String autor;

    // Getters y Setters
}

Crea una clase GestorCicloVidaLibro en cuyo método main se haga pasar una entidad Libro por todos los estados del ciclo de vida de JPA en el siguiente orden:

  • Nuevo: Crea una instancia de Libro sin persistirla en la base de datos.
  • Gestionado: Persiste la entidad en la base de datos.
  • Desconectado: Desconecta la entidad del contexto de persistencia.
  • Eliminado: Elimina la entidad de la base de datos.

Puedes basarte en el siguiente esquema:

package com.ejemplo.jpa;
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;

public class GestorCicloVidaLibro {
   public static void main(String[] args) {
       EntityManagerFactory emf = Persistence.createEntityManagerFactory("EjemploPU");
       EntityManager em = emf.createEntityManager();
       
       // Tú codigo aquí
       
       em.close();
       emf.close();
   }
}
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

Carga de asociaciones en consultas con EntityGraph y anotaciones

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

Consultas JPQL avanzadas

Hibernate
Código

Configuración con JPA

Hibernate
Test

Tutorial para resolver este ejercicio de programación

Hibernate

Hibernate

Ciclo de vida de una entidad

Entidades JPA

Otros tutoriales de programación con Hibernate