Sobes.tech
Junior — Middle

Hibernate-də obyektlərin həyat dövrünü idarə etmək üçün hansı metodlardan istifadə edirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Hibernate-də obyektlərin həyat dövrünün idarə olunması müxtəlif metodlar və varlıqların vəziyyətləri vasitəsilə həyata keçirilir:

  • save() / persist() — yeni obyekti verilənlər bazasına saxlayır və onu «idarə olunan» (persistent) vəziyyətə keçirir.
  • update() / merge() — mövcud obyekti yeniləyir və ya ayrılmış obyektin vəziyyətini cari kontekstlə birləşdirir.
  • delete() — obyekti verilənlər bazasından silir.
  • evict() — obyekti sessiyadan çıxarır və onu «ayrılmış» (detached) vəziyyətə keçirir.
  • refresh() — obyektin vəziyyətini verilənlər bazasından yeniləyir.

Hibernate-də obyektlərin həyat dövrü transient (müvəqqəti, sessiya ilə əlaqəli deyil), persistent (sessiya tərəfindən idarə olunan), detached (sessiyadan ayrılmış) vəziyyətlərini əhatə edir.

Nümunə:

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

// Obyektin yaradılması və saxlanması
User user = new User();
user.setName("John");
session.save(user); // obyekt persistent olur

// Obyektin yenilənməsi
user.setName("John Doe");
session.update(user);

// Obyektin silinməsi
session.delete(user);

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

Beləliklə, Hibernate metodları obyektlərin vəziyyətini və onların verilənlər bazası ilə sinxronizasiyasını idarə etməyə imkan verir.