Sobes.tech
Junior — Middle

Hibernate'da nesne yaşam döngüsünü yönetmek için hangi yöntemleri kullanıyorsun?

sobes.tech yapay zeka

AI'dan gelen yanıt

Hibernate'da nesnelerin yaşam döngüsü yönetimi, çeşitli yöntemler ve varlıkların durumları aracılığıyla gerçekleştirilir:

  • save() / persist() — yeni bir nesneyi veritabanına kaydeder ve onu «yönetilen» (persistent) duruma getirir.
  • update() / merge() — mevcut bir nesneyi günceller veya ayrık bir nesnenin durumunu mevcut bağlamla birleştirir.
  • delete() — nesneyi veritabanından siler.
  • evict() — nesneyi oturumdan çıkarır ve onu «ayrık» (detached) duruma getirir.
  • refresh() — nesnenin durumunu veritabanından günceller.

Hibernate'daki nesne yaşam döngüsü, transient (geçici, oturumla ilişkili olmayan), persistent (oturum tarafından yönetilen), detached (oturumdan ayrılmış) durumlarını içerir.

Örnek:

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

// Nesne oluşturma ve kaydetme
User user = new User();
user.setName("John");
session.save(user); // nesne persistent hale gelir

// Nesneyi güncelleme
user.setName("John Doe");
session.update(user);

// Nesneyi silme
session.delete(user);

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

Bu şekilde, Hibernate yöntemleri nesnelerin durumunu ve veritabanıyla senkronizasyonunu kontrol etmeye olanak tanır.