Junior — Middle
Welke methoden gebruik je om de levenscyclus van objecten in Hibernate te beheren?
sobes.tech AI
Antwoord van AI
In Hibernate wordt het beheer van de levenscyclus van objecten uitgevoerd met behulp van verschillende methoden en toestanden van entiteiten:
- save() / persist() — slaan een nieuw object op in de database en zetten het in de staat van «beheerd» (persistent).
- update() / merge() — werken een bestaand object bij of combineren de toestand van een losgekoppeld object met de huidige context.
- delete() — verwijderen een object uit de database.
- evict() — verwijderen een object uit de sessie en zetten het in de staat van «losgekoppeld» (detached).
- refresh() — vernieuwen de toestand van het object uit de database.
De levenscyclus van een object in Hibernate omvat de staten: transient (tijdelijk, niet gekoppeld aan een sessie), persistent (beheerd door de sessie), detached (losgekoppeld van de sessie).
Voorbeeld:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Creëren en opslaan van een object
User user = new User();
user.setName("John");
session.save(user); // object wordt persistent
// Bijwerken van het object
user.setName("John Doe");
session.update(user);
// Verwijderen van het object
session.delete(user);
tx.commit();
session.close();
Op deze manier maken Hibernate-methoden het mogelijk om de toestand van objecten en hun synchronisatie met de database te controleren.