Junior — Middle
Ce metode folosești pentru a gestiona ciclul de viață al obiectelor în Hibernate?
sobes.tech AI
Răspuns de la AI
În Hibernate, gestionarea ciclului de viață al obiectelor se realizează prin diferite metode și stări ale entităților:
- save() / persist() — salvează un obiect nou în baza de date, transferându-l în starea de „gestionat” (persistent).
- update() / merge() — actualizează un obiect existent sau combină starea unui obiect detașat cu contextul curent.
- delete() — șterge un obiect din baza de date.
- evict() — elimină un obiect din sesiune și îl transferă în starea de „detașat” (detached).
- refresh() — actualizează starea obiectului din baza de date.
Ciclul de viață al unui obiect în Hibernate include stările: transient (temporar, neasociat cu o sesiune), persistent (gestionat de sesiune), detached (detașat de sesiune).
Exemplu:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Crearea și salvarea unui obiect
User user = new User();
user.setName("John");
session.save(user); // obiectul devine persistent
// Actualizarea obiectului
user.setName("John Doe");
session.update(user);
// Ștergerea obiectului
session.delete(user);
tx.commit();
session.close();
Astfel, metodele Hibernate permit controlul asupra stării obiectelor și sincronizarea acestora cu baza de date.