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.