Ejb vs Hibernate
För att komma till EJB är det bra att förstå bakgrunden till var den härrör från. Det finns två typer av enhetbönor. Dessa är CMP och BMP. CMP refererar till Container Managed Persistence medan BMP refererar till Bean Managed Persistence. EJB används speciellt för objektformulering och serialisering när det gäller relationsdatabaser i SQL.
När utvecklingen av en komplex applikation kommer att spela, börjar den med modellering. Klasser och föremål föredras att användas över borden, eftersom de kommer med komplexa samband som kan orsaka många problem om det inte är väl genomfört. Detta innebär i huvudsak att vi hanterar ett system som använder design av tänkande i objekt och inte i tabeller. Användningen av relationsdatabaser är ganska snabb och testad i tid. Detta jämfört med objekt serialisering sparar tid eftersom komplexa objekt serialisering är en mycket långsam process. Användningen av relationsdatabassteknologi är en snabb och tidstestad och populär bland många utvecklare och därmed anledningen till att den föredras.
Det är möjligt att rent handla med tabeller i utveckling och anställa bönor i dataprofilering och läsning av data. I så stor utsträckning som möjligt är det praktiskt att det inte är möjligt, särskilt när man arbetar med riktigt komplicerade projekt för att använda ovanstående metod. Detta är grunden som följer användningen av enhetsbönor i EJB.
CMP i EJB1 kom ut för att vara lämplig för användning med enkla bord som inte kommer med ett komplicerat förhållande till andra tabeller. Användningen av CMP undviker referenser som hänvisar till den underliggande databasen. Detta innebär i själva verket att det är mer bärbart och leverantörslås inte uppstår. EJB 1 förblir också data för att objekta databaser utöver relationsdatabaser.
EJB 2.0 har kommit med en revolutionerande design som syftar till att förbättra övergripande funktionalitet. Huvudändringen med det är det format som den föreslår för att skriva CMP. Det tillhandahåller relationer och föreslår också användning av ett enkelt fråge språk som kallas EBJ-QL. Detta språk syftar till att minimera nätverkstrafiken genom att ringa en enhet böna en sessionböna.
Hibernate å andra sidan är ett ORM-verktyg som inte har en brant inlärningskurva som är vanlig med EJB och är inte lika felaktig som EJB. Hibernate är att föredra på grund av dess flexibilitet, vilket möjliggör servlets och JSP dess användning. Hibernate är byggd i linje med J2EE-specifikationen som gör den tillämplig i de flesta applikationer som en utvecklare kommer att ha. Hibernate är ett speciellt ORM-verktyg, eftersom det inte bara kan användas i EJB-behållare, utan även i fristående behållare och webbehållare. Detta är den största skillnaden som skiljer sig mellan EJB och Hibernate. Utveckling med viloläge är därför mycket enklare och mindre komplicerad i motsats till användningen av EJB.
Hibernate är uppenbarligen mer populär bland användare av J2EE-miljön och om EBJ fortsätter med utvecklingen av komplexa funktioner som tar en stund för att få användarna att känna sig, kommer Hibernate att vara den dominerande i fältet, och EJB kan befria sig från att vara låst J2EE är för närvarande inte i kontakt med de flesta utvecklare som den vill rikta in sig på marknaden.
Sammanfattning
EJB är en enhetböna som används speciellt för objektformulering
Det finns möjlighet att använda tabeller och användning av bönor i dataläsning och manipulation men inte praktiskt
EBJ ger ett relativt enkelt fråtspråk för utveckling som kallas EJB-QL
EBJ felbenägen
Hibernate är relativt lätt att förstå och genomföra
Viloläge är inte lika felaktigt som EJB