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.