Merhaba Hibernate ile veri cekdigimde sonuc neden gec donuyor?

  @Override
public <T> List<T> getAllEntities(Class<T> clazz) {
    Session session = openSession();
    Criteria criteria = session.createCriteria(clazz); 
    try {
        return criteria.list(); 
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
       session.close(); 
    }
}

soruldu: 27 Eki '15, 20:57

Yusuf's gravatar image

Yusuf
94243447
cevap kabul oranı: 0%


Her seferinde yeni Connection/Session acmak yerine bir kez Session ac, islemleri o Connection/Session ile yap.

Benzer sorudaki aciklamalar yardimci olabilir: Hibernate cok yavas

permanent link

cevaplandı: 28 Eki '15, 10:46

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

performans ile alakalı değil ama öcenlikli olarak koddaki exception kısmını düzeltmen lazım. hata oluştuğunda null dönmek yanlış bir yaklaşım. belki veritabanı bağlantısı koptı ? veya veritabanında bir sütun eksik ? exception yakalama işini mümkün olduğüunda view tarafında yapmak iyi olacaktır.

performans konusuna gelecek olursak. soruna direk şurdan demek bence yanlış bir yaklaşım. öncelikli olarak sorunu iyi analiz etmek gerekiyor.

bir kere mutlaka sqlleri açık tutarak sistemi çalıştırman lazım, nasıl bir sql oluşuyor görmen lazım. sonra bu sqle göre lazy alanları ve fetch size değerini düzenlemen gerekecektir.

buna ek olarak tüm kayıtları çekmek istiyorsan sayfalama (paging) yapman gerekecektir. tüm kayıtları çekmek ciddi performans sorunlarına seep olabilir. teknik olarak burda yazmaya pek vaktim yok.

her seferinde yeni session açmak sadece büyük uygulamalarda yavaşlığa sebep olacaktır. örneğin bir connection açmak 0.3 saniye sürse, çok fazla sayıda bağlantı açılmadığı desktop ortamlarda performansı diğer yazdığım sebeplerden daha az etkileceyektir.

permanent link

cevaplandı: 23 Ara '15, 03:53

myururdurmaz's gravatar image

myururdurmaz
2.2k11027
cevap kabul oranı: 23%

-1

Sorun sürekli yeni nesne yaratmaktan kaynaklanıyor.

permanent link

cevaplandı: 31 Eki '15, 08:45

meSutPiskin's gravatar image

meSutPiskin
3206611
cevap kabul oranı: 23%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×109

Soruldu: 27 Eki '15, 20:57

Görüntüleme: 560 kez

Son güncelleme: 23 Ara '15, 03:53

powered by BitNami OSQA