Sobes.tech
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.