Junior — Middle
¿Qué métodos utilizas para gestionar el ciclo de vida de los objetos en Hibernate?
sobes.tech AI
Respuesta de la IA
En Hibernate, la gestión del ciclo de vida de los objetos se realiza mediante varios métodos y estados de las entidades:
- save() / persist() — guardan un nuevo objeto en la base de datos, transfiriéndolo al estado de «gestionado» (persistent).
- update() / merge() — actualizan un objeto existente o combinan el estado de un objeto desacoplado con el contexto actual.
- delete() — eliminan un objeto de la base de datos.
- evict() — eliminan un objeto de la sesión, transfiriéndolo al estado de «desacoplado» (detached).
- refresh() — actualizan el estado del objeto desde la base de datos.
El ciclo de vida de un objeto en Hibernate incluye los estados: transitorio (temporal, no asociado a una sesión), persistent (gestionado por la sesión), detached (desasociado de la sesión).
Ejemplo:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Creación y guardado de un objeto
User user = new User();
user.setName("John");
session.save(user); // el objeto pasa a ser persistent
// Actualización del objeto
user.setName("John Doe");
session.update(user);
// Eliminación del objeto
session.delete(user);
tx.commit();
session.close();
De esta forma, los métodos de Hibernate permiten controlar el estado de los objetos y su sincronización con la base de datos.