Sobes.tech
Junior — Middle

Kādiem metodiem jūs izmantojat, lai pārvaldītu objektu dzīves ciklu Hibernate?

sobes.tech AI

Atbilde no AI

Hibernate dzīves cikla pārvaldība tiek veikta ar dažādām metodēm un entitāšu stāvokļiem:

  • save() / persist() — saglabā jaunu objektu datu bāzē un pārvieto to uz «pārvaldāmo» (persistent) stāvokli.
  • update() / merge() — atjaunina esošo objektu vai apvieno atdalīta objekta stāvokli ar pašreizējo kontekstu.
  • delete() — izdzēš objektu no datu bāzes.
  • evict() — izņem objektu no sesijas un pārvieto to uz «atslēgtu» (detached) stāvokli.
  • refresh() — atjaunina objekta stāvokli no datu bāzes.

Hibernate dzīves cikls ietver šādus stāvokļus: transient (īslaicīgs, nesasaistīts ar sesiju), persistent (pārvaldīts sesijas), detached (atslēgts no sesijas).

Piemērs:

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

// Objekta izveide un saglabāšana
User user = new User();
user.setName("John");
session.save(user); // objekts kļūst par persistent

// Objekta atjaunināšana
user.setName("John Doe");
session.update(user);

// Objekta dzēšana
session.delete(user);

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

Tādējādi Hibernate metodes ļauj kontrolēt objektu stāvokli un to sinhronizāciju ar datu bāzi.