KAS 13
2009 |
DLINQ ve Nhibernate ikisini de kullanan arkadaşlar var mı ? Performans yada kullanımıyla ilgili farklılıklarını ve tercihini iletebilir mi ?
(Entity katmanı için nesneleri Arraylistlere doldurmak vazgeçmeyi düşünüyorum de artık :) .) |
|
AĞU 4
2008 |
bence de nhibernate .net yazılımcılarının bir çok problemini halledecek gibi görünüyor, ben de projelerimde yavaştan kullanmaya başladım, kodlama hızı ve bakım konusunda çok avantaj sağladığı kesin.
tşkler... |
|
HAZ 27
2008 |
Nhibernate ile kurumsal uygulamalar geliştiriyoruz.Şu anda Tubitak UEKAE Bilgi Sistemleri altyapısı Nhibernate üzerinde sorunsuz şekilde çalışıyor.
Ufak tefek örneklerle binlerce geliştiricinin üzerinde hem fikir olduğu bir teknoloji için atıp tutmak ve böyle bir teknolojiyi Dataset ile karşılaştırmak çok amatörce bir yaklaşım.
İşimizi hangi teknoloji kolaylaştırırsa onu kullanırız:Nhibernate,ibatis,Activerecord yada dataset...
Yüzbin kaydı nhibernate ile çekip datagride mi bağlıyorsunuz.Eğer öyleyse siz dataset kullanmaya devam edin. |
|
MAR 25
2008 |
hibernate teknolojosi giderek yaygınlaşan ve OOP ile bütünleşen bir mantık haline gelmiştir. Kurumsal projeler hibernate teknolojisini benimsemektedir. Öğrenilmesi ve uygulanması faydalıdır. performans sıkıtıları ise zamanla aşılıyor. kendi hibernate teknolojinis geliştirebilir ve persformansınızı siz iyileştirebilirsiniz. |
|
MAY 22
2007 |
Yorum yapan arkadaşlara nhibernatee ilgi duyduklari icin öncelikle teşekkür ediyorum. Burdaki fikirlerin bir kısmına katiliyorum fakat bazıları çok idealistce. Öncelikle gerçek hayatta geliştirdiğimiz uygulamalarda bile 100000 bin kayıttan bahsetmek mümkün değil. Bu rakamı hep minumuma çekmeye çalışıyoruz. Bunun dışında nhibernate zaten enterprise uygulamalar için geliştirilmiştir. Performansı tartışılır fakat güvenilirlik ve projenin bakım aşamasında bize sağladığı yararlar tartışılmaz. www.mygenerationsoftware.com adresindeki OR Mapping tool ilede makalede anlatılan işlemleri kısa sürede yapabilirsiniz. Kurumsal bir uygulama geliştiriyorsak ve nhibernate kullanmaya karar verdiysek HSQL gibi bir dili öğrenmek pekde problem olmayacakdır sanırım. teşekkürler... |
|
MAY 22
2007 |
Caner Şahan arkdaşımıza: 100 bin üzeri kaydı bir anda veritabanından çekmeyi performans testi için yapmıştım. Tabii ki gerçek projede böyle bir şey yapmıyorum. Zaten en önemli sorun o değil.
Programlama yaparken sık sık yaptığımız bir işlem var ki tabloları join ederek kayıt alırız. Böyle olmadı şöyle olsun diye bunlar üzerinde de sık sık değişiklik yaparız. Join kullanılmış sql cümlecikleri için mapping (uygun class ve xml dosyasının oluşturulması) işlemi yapılabilen bir araç yok bildiğim ve manuel olarak yapılmak zorunda bu da epeyce uzun bir iş.
Hibernate de map edilmeden tabloları join eden sql kullanımını biliyorsanız söyleyin lütfen. |
|
MAY 16
2007 |
Nhibernate ile ilgili makaleniz için teşekkürler. Türkçe güzel bir kaynak olmuş. Diğer arkadaşın yorumlarına cevaben,nhibernate bir çok projede kullanılmakta ve kullanılacaktırda. Fakat burda siz bir tablodaki dataları datasete??? felan doldurmaktan bahsediyorsunuz. Zaten 100 bin satır bir dataset objesi ile ilişkilendirmeniz yanlış . Böyle büyük dataların ram üzerine çekilmesi ve ramde işlenmesi söz konusu bile olmamalı. Ben Nhibernatei biraz daha araştırmanız ve yöntemlerinizi bir daha irdelemenizi tavsiye ederim.
Saygılar |
|
NİS 22
2007 |
Nhibernateyi javacı arkadaş tavsiye etti diye bir göz attım. Hiç kullanmadım. Ama onu ararken bunu buldum http:www.codeplex.comactionpack Bunu kullanırım işte :) |
|
NİS 18
2007 |
Uzun süre nhibernate kullandım fakat arkadaşlara tavsiye etmiyorum. Başlıca sebeplerini saymak gerekirse:
1-Örneğin yüzbin üzeri kayıt bulunan bir tablodan kayıt çekmek istediğinizde command.ExecuteReader yönetmiyle 1 sn de kayıtlar alınıyor, datasete yüklemek ise
4-5 sn sürüyor fakat nhibernate ile bir buçuk dakika sürüyor. Bazı performans ayarlamalarıyla bu süre çok az düşürülebiliyor.
2-Yukarda farketmişsinizdir bir tablo için bir class ve de bir xml dosyası oluşturuyorsunuz. Bu sorun değil mygeneration benzeri programlar ile veritabanından
tablolarınızı seçip class ve xml dosyalarını otomatik oluşturabilirsiniz. Fakat kompleka sql cümlecikleri kullanmanız gerektiği zaman bu işlem geçerli değil
tabii ki. Bu durumda manuel olarak oluşturduğunuz xml dosyasında diğer classlar ile bağlantıyı tanımlamak zorundasınız, sonra kendisinin HSQL denilen
yöntemiyle sql yazıp kullanmak zorundasınız ki işkence haline geliyor. Kaldı ki arkadaşlar bilirler bu kompleks sql i sık sık değiştirmeniz de gerekebilir
programınızı yazarken.
Sonuç olarak eğer projenizin her türlü veritabanından çalışmasını mutlaka istemiyor iseniz gerek yok diyebilirim.
Alternatif olarak bu işlem için provider modelini kullanabilirsiniz. Yani projeniz.sqldataprovider.dll, projeniz.mysqldataprovider.dll,
projeniz.sqlitedataprovider.dll gibi istediğiniz provider dll lerinin, abstract sınıfları barındıran projeniz.dataprovider.dll dosyasındaki metodları override
ececeği bir sistem. Hangi veritabanının kullanılacağını da config dosyasına vs koyup kodlarınızla kayıtların hangi dataprovider.dll dosyası üzerinden
işleneceğini ayarlıyorsunuz. Bunun dezavantajı ise sql cümleciklerini ve bazı kodları her dataprovider içerisinde değiştirmek zorunda kalabilmenizdir.
Kendi tavsiyem relational veritabanları değil tamamen sql kullanılmayan, obje serializasyon mantığıyla çalışan db4o olacak. Kendi testlerimde sql server da
datasete yaklaşık 200 sn de yüklenen bir tablo db4o ile 0.75 sn de yükleniyordu. Kullanımı da çok basit ama henüz derinlemesine incelemedim. Hibernate için
denemedim ama tahminim o da dakikalar alır. |
|