Ejb vs Hibernace
Chcete-li se dostat do EJB, je dobré pochopit pozadí, odkud vychází. Existují dva typy fazolí entity. Jedná se o CMP a BMP. CMP se týká perzistence řízené kontejnerem, zatímco BMP se týká perzistence řízené fazolí. EJB se používá speciálně pro formulaci objektů a serializaci při práci s relačními databázemi v SQL.
Když se začne vyvíjet složitá aplikace, začíná modelování. Třídy a objekty se upřednostňují před tabulkami, protože přicházejí se složitými vzájemnými vztahy, které mohou způsobit mnoho problémů, pokud nejsou dobře implementovány. To v podstatě znamená, že se zabýváme systémem, který využívá design myšlení v objektech a nikoli v tabulkách. Použití relačních databází je poměrně rychlé a včas testované. To ve srovnání s serializací objektů šetří čas, protože komplexní serializace objektů je velmi pomalý proces. Použití technologie relační databáze je rychle a časově testováno a populární mezi mnoha vývojáři, a proto je upřednostňován.
Je možné se čistě zabývat vývojovými tabulkami a používat fazole při manipulaci s daty a čtení dat. Pokud je to možné, její praktičnost není možná, zejména při řešení skutečně složitých projektů s využitím výše uvedené metody. Toto je základ, který následuje po použití fazolí entit v EJB.
CMP v EJB1 byl navržen tak, aby byl vhodný pro použití s jednoduchými tabulkami, které nepřicházejí se složitými vztahy s jinými tabulkami. Použití CMP se vyhýbá odkazům, které odkazují na základní databázi. Ve skutečnosti to znamená, že je přenosnější a nedojde k uzamčení dodavatele. EJB 1 také přetrvává data do databází objektů kromě relačních databází.
EJB 2.0 přichází s revolučním designem, který je zaměřen na zlepšení celkové funkčnosti. Hlavní změnou je formát, který navrhuje pro psaní CMP. Poskytuje vztahy a také navrhuje použití jednoduchého jazyka dotazů, který se označuje jako EBJ-QL. Cílem tohoto jazyka je minimalizovat síťový provoz voláním entity bean relace bean.
Hibernace na druhé straně je nástroj ORM, který nemá strmou křivku učení, která je společná s EJB a není tak náchylná k chybám jako EJB. Hibernace je upřednostňována díky své flexibilitě, která umožňuje použití Servletů a JSP. Hibernace je postavena v souladu se specifikací J2EE, díky níž je aplikovatelná ve většině aplikací, které bude mít vývojář. Hibernace je speciální nástroj ORM, protože jej lze použít nejen v kontejnerech EJB, ale také v samostatných kontejnerech a webových kontejnerech. To je hlavní rozdíl, který vyniká mezi EJB a Hibernate. Vývoj s Hibernate je proto mnohem jednodušší a méně komplikovaný na rozdíl od použití EJB.
Hibernate je zdánlivě populárnější mezi uživateli prostředí J2EE a pokud EBJ bude pokračovat ve vývoji komplexních funkcí, které budou uživatelé chvíli seznamovat, bude Hibernate v oboru dominantní a EJB by se mohla ocitnout mimo blokování J2EE jako v současné době není v kontaktu s většinou vývojářů, na které se snaží zaměřit na trhu.
souhrn
EJB je fazole entity, která se používá speciálně pro formulaci objektů
Existuje možnost použití tabulek a použití fazolí při čtení dat a manipulaci, i když to není praktické
EBJ poskytuje relativně jednoduchý dotazovací jazyk pro vývoj označovaný jako EJB-QL
EBJ náchylný k chybám
Hibernace je relativně snadno pochopitelná a implementovatelná
Hibernace není tak náchylná k chybám jako EJB