27 Mart 2012 Salı

Hibernate ve FlushMode

Hibernate ile kullanılabilecek FlushMode seçenekleri şunlar. Ben de anladıklarmı yazıyorum.

ALWAYS

AUTO

COMMIT

MANUAL
Manual modu eskiden NEVER olarak geçiyordu. Bu konuyu anlatan en iyi örneği Hibernate: Understand FlushMode.NEVER başlıklı yazıda buldum. Yazının özeti şu : Hibernate kendi haline bırakılırsa AUTO modu kullanır. Bu kullanım şeklinde her sorgudan önce session içinde yüklü bulunan (yani birincil önbellekte yüklü bulunan) her nesneye kirli kontrolü (dirty check) uygulanır. Eğer birincil önbellekte binlerce nesne yüklü ise her nesneye bu kontrolü uygulamak performansı çok düşürecektir.

FlushMode.MANUAL kullanılarak bazı sorguların kirli kontrolü yapması engellenir ve tüm işlemlerin sonunda session.flush() metodu çağırılarak performans artırılabilir.

Hiç yorum yok:

Yorum Gönder