Rozdiel medzi Ejb a Hibernate

Ejb vs Hibernate

Ak sa chcete dostať do EJB, je dobré pochopiť pozadie, z ktorého vychádza. Existujú dva typy bôbov entity. Sú to CMP a BMP. CMP sa týka perzistencie riadenej pomocou kontajnerov, zatiaľ čo BMP sa týka perzistencie riadenej fazuľami. EJB sa špeciálne používa na formuláciu a serializáciu objektov pri práci s relačnými databázami v SQL.

Keď príde vývoj komplexnej aplikácie, začína modelovaním. Triedy a objekty sa uprednostňujú pred tabuľkami, pretože prichádzajú so zložitými vzájomnými vzťahmi, ktoré môžu spôsobiť veľa problémov, ak nie sú správne implementované. V podstate to znamená, že sa zaoberáme systémom, ktorý využíva návrh myslenia v objektoch a nie v tabuľkách. Použitie relačných databáz je pomerne rýchle a testované v čase. To v porovnaní so serializáciou objektu šetrí čas, pretože zložitá serializácia objektov je veľmi pomalý proces. Použitie technológie relačných databáz je rýchlo a čas testované a populárne medzi mnohými vývojármi, a preto je preferovaný dôvod.

Je možné čisto narábať s tabuľkami vo vývoji a využívať fazuľky pri manipulácii s údajmi a pri ich čítaní. Pokiaľ je to možné, jej praktickosť nie je možná, najmä pri riešení skutočne zložitých projektov pri použití vyššie uvedenej metódy. Toto je základ, ktorý nasleduje po použití bôbov entity v EJB.

CMP v EJB1 bol navrhnutý tak, aby bol vhodný na použitie s jednoduchými tabuľkami, ktoré neprichádzajú so zložitými vzťahmi k iným tabuľkám. Použitie CMP sa vyhýba odkazom, ktoré odkazujú na základnú databázu. V skutočnosti to znamená, že je prenosnejší a nedochádza k zablokovaniu dodávateľa. EJB 1 tiež pretrváva údaje v objektových databázach okrem relačných databáz.

EJB 2.0 má revolučný dizajn, ktorého cieľom je zlepšiť celkovú funkčnosť. Hlavnou zmenou je formát, ktorý navrhuje na písanie CMP. Poskytuje vzťahy a tiež navrhuje použitie jednoduchého jazyka dotazov, ktorý sa označuje ako EBJ-QL. Cieľom tohto jazyka je minimalizovať sieťový prenos volaním subjektu bean relácie bean.

Na druhej strane režim dlhodobého spánku je nástroj ORM, ktorý nemá strmú krivku učenia, ktorá je spoločná s EJB a nie je tak náchylná na chyby ako EJB. Hibernácia je uprednostňovaná kvôli svojej flexibilite, ktorá umožňuje používanie Servletov a JSP. Hibernácia je postavená v súlade so špecifikáciou J2EE, vďaka ktorej je aplikovateľná vo väčšine aplikácií, ktoré bude mať vývojár. Režim dlhodobého spánku je špeciálny nástroj ORM, ktorý sa dá použiť nielen v kontajneroch EJB, ale je tiež použiteľný v samostatných kontajneroch a webových stojanoch. Toto je hlavný rozdiel, ktorý vyniká medzi EJB a Hibernate. Na rozdiel od používania EJB je preto vývoj s Hibernátom oveľa jednoduchší a menej komplikovaný.

Režim Hibernate je medzi užívateľmi prostredia J2EE zjavne obľúbenejší a ak spoločnosť EBJ bude pokračovať vo vývoji komplexných funkcií, ktoré používatelia chvíľu poznajú, bude dominantným miestom v tejto oblasti a spoločnosť EJB by sa mohla ocitnúť mimo dosahu J2EE v súčasnosti nie je v kontakte s väčšinou vývojárov, ktorých cieľom je zamerať sa na trhu.

zhrnutie

EJB je fazuľa entity, ktorá sa špeciálne používa na formuláciu objektov

Existuje možnosť použitia tabuliek a použitia fazule relácie pri čítaní a manipulácii s údajmi, aj keď to nie je praktické

EBJ poskytuje relatívne jednoduchý dopytovací jazyk pre vývoj, ktorý sa označuje ako EJB-QL

EBJ je náchylná na chyby

Hibernácia je relatívne ľahko pochopiteľná a implementovateľná

Hibernácia nie je tak náchylná na chyby ako EJB