Ejb I hibernacja

Anonim

Ejb kontra Hibernacja

Aby dostać się do EJB, dobrze jest zrozumieć tło, z którego pochodzi. Istnieją dwa typy komponentów bean obiektu. Są to CMP i BMP. CMP odnosi się do trwałości zarządzanej przez kontenera, podczas gdy BMP odnosi się do trwałości zarządzanej przez ziarno. EJB jest specjalnie używany do formułowania obiektów i serializacji podczas pracy z relacyjnymi bazami danych w SQL.

Kiedy zaczyna się tworzenie złożonej aplikacji, zaczyna się od modelowania. Klasy i obiekty są preferowane do używania nad tabelami, ponieważ zawierają złożone zależności, które mogą powodować wiele problemów, jeśli nie są dobrze zaimplementowane. W gruncie rzeczy oznacza to, że mamy do czynienia z systemem, który wykorzystuje projekt myślenia w obiektach, a nie w tabelach. Korzystanie z relacyjnych baz danych jest dość szybkie i przetestowane w czasie. To porównanie z serializacją obiektów oszczędza czas, ponieważ serializacja obiektów złożonych jest bardzo powolnym procesem. Wykorzystanie technologii relacyjnej bazy danych jest szybkie i przetestowane czasowo i popularne wśród wielu programistów, a więc z tego powodu jest preferowane.

Możliwe jest zajmowanie się wyłącznie tabelami w fazie rozwoju i wykorzystywanie ziaren sesji w manipulowaniu danymi i odczytywaniu danych. W takim stopniu, w jakim jest to możliwe, jego praktyczność nie jest możliwa, szczególnie gdy mamy do czynienia z naprawdę złożonymi projektami stosującymi powyższą metodę. Jest to podstawa, która następuje po użyciu komponentów bean obiektu w EJB.

CMP w EJB1 zaprojektowano tak, aby był odpowiedni do użycia z prostymi tabelami, które nie mają złożonej relacji z innymi tabelami. Używanie CMP pozwala uniknąć odniesień odnoszących się do bazowej bazy danych. Oznacza to w rzeczywistości, że jest bardziej przenośny i nie występuje blokada dostawcy. EJB 1 utrzymuje również dane w bazach danych obiektów poza relacyjnymi bazami danych.

EJB 2.0 ma rewolucyjny wygląd, który ma na celu poprawę ogólnej funkcjonalności. Główną zmianą jest format, jaki proponuje do napisania CMP. Zapewnia relacje, a także proponuje użycie prostego języka zapytań, określanego jako EBJ-QL. Ten język ma na celu minimalizację ruchu w sieci poprzez wywoływanie komponentu bean komponentu bean sesji.

Hibernate z drugiej strony jest narzędziem ORM, które nie ma stromej krzywej uczenia się, która jest wspólna dla EJB i nie jest tak podatne na błędy, jak EJB. Hibernacja jest preferowana ze względu na elastyczność, umożliwiając korzystanie z serwletów i stron JSP. Hibernate jest zbudowany zgodnie ze specyfikacją J2EE, dzięki czemu ma zastosowanie w większości aplikacji, które będzie miał deweloper. Hibernate jest specjalnym narzędziem ORM, ponieważ można go używać nie tylko w kontenerach EJB, ale także w samodzielnych pojemnikach i kontenerach internetowych. Jest to główna różnica między EJB i Hibernate. Rozwój dzięki Hibernate jest więc znacznie łatwiejszy i mniej skomplikowany, niż użycie EJB.

Hibernate jest pozornie bardziej popularny wśród użytkowników środowiska J2EE i jeśli EBJ będzie kontynuował rozwój złożonych funkcji, które wymagają czasu, aby użytkownicy mogli się z nimi zapoznać, Hibernate będzie dominujący w tej dziedzinie, a EJB może zostać zablokowany J2EE od tej pory nie jest w kontakcie z większością programistów, na których stara się kierować na rynku.

streszczenie

EJB to komponent bean, który jest specjalnie używany do formułowania obiektów

Istnieje możliwość korzystania z tabel i wykorzystywania ziaren sesji do odczytu i manipulowania danymi, choć nie jest to praktyczne

EBJ zapewnia stosunkowo prosty język zapytań dla rozwoju zwany EJB-QL

Błąd EBJ

Hibernate jest stosunkowo łatwy do zrozumienia i wdrożenia

Hibernacja nie jest tak podatna na błędy jak EJB