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.