Ejb I hibernacja
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