JSF ile kurumsal projeler üzerine çalışmalar yapıyorum. Veritabanı bağlantısı için JDBC mi HIBERNATE mi? hangisini kullanmam daha mantıklı olur? Hız, performans, talep, bakım nitelikleri açısından karşılaştırabilir miyiz?

soruldu: 13 May, 04:06

hasanburakavci's gravatar image

hasanburakavci
240359
cevap kabul oranı: 10%

değiştirildi: 29 Tem, 15:59


JDBC, Java'nın RDBMS (Relational Database Management System)'lere bağlanmak için kullandığı temel bir API'dir. Yani bir veri tabanına bağlanırken en temel yapıtaşı JDBC'dir. Projende istersen; Hibernate, EclipseLink, TopLink, MyBatis v.s ne kullanırsan kullan, bu kullandığın yapılar JDBC üzerine bina edilmiş yapılardır. Dolayısıyla JDBC dışında, JDBC üzerine inşa edilmiş herhangi bir framework kullandığın zaman bu sistemde yavaşlığa neden olacaktır. Çünkü doğrudan JDBC kullandığın zaman yazdığın sistem doğrudan JDBC ile haberleşirken, araya giren herhangi bir framework'te ise yazdığın sistem framework'le ve framework'te JDBC ile haberleşecektir. Dolayısıyla arada geçen haberleşme süresi uzayacaktır. Bu da performansı etkiler. Buradan çıkan sonuç: JDBC daha performanslıdır.

Öte yandan örneğin; projende kullandığın tablo sayısı arttıkça sistemin karmaşıklığı da artacaktır. JDBC kullandığını da varsayarsak, yazacağın kodların sayısı da artacak ve bir süre sonra işin ucunun kaçtığını hatta ve hatta içinden çıkılmaz bir durum aldığını görebilirsin. Dolayısıyla burada performansın bir kenara bırakılıp sistemin bütünlüğünün sağlanması önemlidir. Projende kullandığın tablo sayısı 1-5 arasında ise JDBC'yi öneririm. Lakin daha fazla bir tablo yapısında Hibernate kullanmak kaçınılmaz oluyor. Özetle hangisini kullanacağın tamamen tasarlanan sistemin büyüklüğüne kalıyor.

permanent link

cevaplandı: 14 May, 08:06

emrecan-oztas's gravatar image

emrecan-oztas
4.1k62146
cevap kabul oranı: 24%

Merhabalar öncelikle şunu belirtmek isterim her ikisi ilede projenizi gerçekleştirebilirsiniz.JDBC tarafında çok fazla kod yazdıktan sonra aslında hibernate göre daha hızlı bir uygulama elde edebilirsiniz :) Ancak zaman ve bu performans tarafı ele alındığında ve Hibernate i doğru bir şekilde kullandığınız zaman ve Hibernate in gelişmeleri ele alındığında benim nacizane önerim Hibernate olacaktır.Ben yakın zamanda JSF 2.x + Primefaces 5.x + Hibernate 5.x ile + Spring + Maven + GIT + JENKINS ile kurumsal bir proje yazmış biri olarak şunu belirtmek isterimki Hibernate iyi kullanıldığında tamamen tercih sebebi olmalıdır.

permanent link

cevaplandı: 14 May, 06:51

caglarturkurka's gravatar image

caglarturkurka
6653712
cevap kabul oranı: 6%

Hız, performans açısında JDBC daha iyidir.

Talep, bakım'da ise hibernate çok revaçta.

permanent link

cevaplandı: 02 Ağu, 09:28

SercanTogrul's gravatar image

SercanTogrul
1256815
cevap kabul oranı: 11%

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:

×1,077
×281
×109
×86
×11

Soruldu: 13 May, 04:06

Görüntüleme: 437 kez

Son güncelleme: 02 Ağu, 09:28

powered by BitNami OSQA