Ejb ve Hibernate arasındaki fark
Ejb ve Hibernate
EJB'ye girmek için nereden çıktığının arka planını anlamak iyidir. İki varlık türü tanesi türü vardır. Bunlar CMP ve BMP. CMP, Konteyner Yönetilen Kalıcılıkla (BMP) Bean Managed Persistence'ye atıfta bulunur. EJB, SQL'de İlişkisel Veritabanları ile uğraşırken, nesne formülasyonu ve serileştirme için özel olarak kullanılır.
Karmaşık bir uygulamanın gelişimi ortaya çıktığında, modelleme ile başlar. Dersler ve nesneler, tabloların üzerinde kullanılmak üzere tercih edilir, çünkü bunlar, iyi uygulanamamaları halinde bir çok soruna neden olabilecek karmaşık ilişkiler içindedir. Bu özünde, tablolarda değil nesnelere düşünme tasarlayan bir sistemle uğraşmamız demektir. İlişkisel veritabanlarının kullanımı oldukça hızlıdır ve zamanında test edilmiştir. Nesnelerin seri hale getirilmesi ile karşılaştırıldığında, karmaşık nesne seri hale getirme işlemi çok yavaş bir işlem olduğundan zaman kazandırır. İlişkisel veritabanı teknolojisinin kullanımı, birçok geliştirici arasında hızlı ve zaman test edilmiş ve popülerdir ve bu yüzden tercih edilir.
Verilerin manipülasyonu ve okunması aşamasında tamamen gelişme tablolarını ele almak ve oturum fasulye istihdam etmek mümkündür. Bu mümkün olduğu kadarıyla, pratikliği, özellikle de yukarıdaki yöntemi kullanmak için gerçekten karmaşık projelerle uğraşırken mümkün değildir. Varlık fasulye kullanımını EJB'de takip eden temel budur.
EJB1'deki CMP, diğer tablolarla karmaşık bir ilişki içine girmeyen basit tablolarla kullanım için uygun olacak şekilde tasarlandı. CMP kullanımı, altta yatan veritabanına atıfta bulunan referansları önler. Bu aslında daha portatif ve satıcı kilitlenmesinin gerçekleşmediği anlamına geliyor. EJB 1 ayrıca, ilişkisel veritabanlarının yanı sıra nesne veritabanlarına da veri saklar.
EJB 2.0, genel işlevselliği geliştirmeyi amaçlayan devrim niteliğinde bir tasarıma sahiptir. Onunla başlıca değişim, CMP yazmak için önerdiği formattır. İlişkiler sağlar ve EBJ-QL olarak adlandırılan basit bir sorgu dili kullanmayı önerir. Bu dil, bir varlık bean'i bir oturum fasulye çağırarak ağ trafiğini en aza indirmeyi hedeflemektedir.
Öte yandan Hibernate, EJB'de yaygın olan ve EJB kadar hata eğilimi olmayan dik bir öğrenme eğrisine sahip olmayan bir ORM aracıdır. Hibernate, esnekliği nedeniyle Servlets ve JSP'nin kullanımına izin verdiği için tercih edilir. Hibernate, bir geliştiricinin sahip olduğu uygulamaların çoğunda uygulanabilir hale getiren J2EE belirtimine göre oluşturulmuştur. Hibernate, yalnızca EJB kaplarında kullanılamaz, aynı zamanda bağımsız kaplarda ve web kaplarında da uygulanabileceği için özel bir ORM aracıdır.EJB ve Hazırda Bekleme arasında başlıca fark budur. Bu nedenle, Hazırda Bekletme ile geliştirme, EJB'nin yerine, daha kolay ve daha az karmaşıktır.
Hibernate, J2EE ortamı kullanıcıları arasında daha popüler görünüyor ve eğer EBJ, kullanıcıların kendilerini tanıması biraz zaman alan karmaşık özelliklerin geliştirilmesine devam ederse, Hibernate bu alandaki baskın bir kişi olacaktır ve EJB kendisini bulabilir şu an itibariyle J2EE'den kilitlendi, piyasada hedeflemeyi amaçladığı geliştiricilerin çoğuyla bağlantılı değil.
Özet
EJB, nesne formülasyonu için özel olarak kullanılan bir varlık fasulye türüdür
Tabloların kullanılması ve veri okuma ve değiştirme işlemlerinde oturum fasulye kullanılması pratik değil
EBJ göreceli olarak basittir
EBJ hata eğilimi
olarak anılacak geliştirme dili soruları
Hazırda bekletmeyi anlamak ve uygulamak nispeten kolay EJB