Sobes.tech
Junior — Middle

Koje metode koristiš za upravljanje životnim ciklusom objekata u Hibernate-u?

sobes.tech АИ

Одговор од АИ

U Hibernate-u, upravljanje životnim ciklusom objekata vrši se pomoću različitih metoda i stanja entiteta:

  • save() / persist() — čuvaju novi objekat u bazi podataka i prebacuju ga u stanje „upravljan“ (persistent).
  • update() / merge() — ažuriraju postojeći objekat ili spajaju stanje odvojenog objekta sa trenutnim kontekstom.
  • delete() — brišu objekat iz baze podataka.
  • evict() — uklanjaju objekat iz sesije i prebacuju ga u stanje „odvojen“ (detached).
  • refresh() — osvežavaju stanje objekta iz baze podataka.

Životni ciklus objekta u Hibernate-u uključuje stanja: transient (privremen, nije povezan sa sesijom), persistent (upravljan od strane sesije), detached (odvojen od sesije).

Primer:

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();

// Kreiranje i čuvanje objekta
User user = new User();
user.setName("John");
session.save(user); // objekat postaje persistent

// Ažuriranje objekta
user.setName("John Doe");
session.update(user);

// Brisanje objekta
session.delete(user);

tx.commit();
session.close();

Na ovaj način, Hibernate metode omogućavaju kontrolu stanja objekata i njihovu sinhronizaciju sa bazom podataka.