Junior — Middle
Akými metódami riadiš životný cyklus objektov v Hibernate?
sobes.tech AI
Odpoveď od AI
V Hibernate-u je upravljanje životnim ciklusom objektov izvedeno s pomočjo različnih metod in stanj entitet:
- save() / persist() — shranijo nov objekt v bazo podatkov in ga prevede v stanje „upravljanega“ (persistent).
- update() / merge() — posodobijo obstoječi objekt ali združijo stanje odklopljenega objekta s trenutnim kontekstom.
- delete() — odstranijo objekt iz baze podatkov.
- evict() — odstranijo objekt iz seje in ga prevedejo v stanje „odklopljenega“ (detached).
- refresh() — posodobijo stanje objekta iz baze podatkov.
Življenjski cikel objekta v Hibernate-u vključuje stanja: transient (začasno, ni povezan s sejo), persistent (upravljan s sejo), detached (odklopljen od seje).
Primer:
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
// Ustvarjanje in shranjevanje objekta
User user = new User();
user.setName("John");
session.save(user); // objekt postane persistent
// Posodobitev objekta
user.setName("John Doe");
session.update(user);
// Brisanje objekta
session.delete(user);
tx.commit();
session.close();
Tako metode Hibernate omogočajo nadzor nad stanjem objektov in njihovo sinhronizacijo z bazo podatkov.