Hibernate / EclipseLink / OpenJPA összehasonlítás
Hibernate Objektum-relációs leképezést (ORM) megvalósító programkönyvtár Osztályok és relációs adatbázisok tábláinak egymásba leképezése Rekordok objektumként kezelése Adatlekérdező nyelv Hibernate Query Language Megszabadít az eredményhalmaz – objektum konverziótól Adatbázis független A Hibernate egy objektum-relációs leképezést (ORM) megvalósító programkönyvtár Java platformra Segítségével osztályokat és a relációs adatbázisok tábláit tudjuk egymásba leképezni, az adatbázisban lévő rekordokat objektumokként kezelhetjük, és az objektumainkat egyszerűen tárolhatjuk állapotmegőrző módon adattáblákban. Biztosít egy adatlekérdező nyelvet is (HQL – Hibernate Query Language), melynek segítségével adatbázis-kezelő rendszerek között hordozható lekérdezéseket írhatunk. A HQL lekérdezésekből a Hibernate generálja az alkalmazás alatt lévő adatbázis kezelő rendszernek megfelelően az SQL lekérdezéseket, és megszabadítja a fejlesztőt az eredményhalmazok objektumokká történő konverziójának nehézségeitől. A HQL miatt abszolút adatbázis független. A fejlesztő megírja a lekérdezéseket HQL-ben és azokat olyan adatbázison futtatja, amilyenen csak szeretné, nem okoznak problémát az adatbázis specifikus dolgok.
EclipseLink (Toplink) Bővíthető keretrendszert biztosít Objektum-relációs leképezés (ORM) Különféle adat szolgáltatásokkal való kommunikáció Adatbázisok, webszolgáltatások, vállalati információs rendszerek, Objektum XML leképezések Az EclipseLink egy nyílt forráskódú Eclipse Persistence Services projekt az Eclipse Foundationtől. A szoftver egy bővíthető keretrendszert biztosít, amellyel a Java fejlesztők képesek különféle adat szolgáltatásokkal kommunikálni pl. adatbázisokkal, webszolgáltatásokkal…stb. Az EclipseLink számos perzisztencia sztenderdet támogat, mint például a Java Persistence API.
OpenJPA Java Persistence API specifikáció nyílt forráskódú implementációja Rendelkezésre álló eszközök Akkor minek? Korlátok kiküszöbölése A JDO kivételével mind korlátozott Ötvözi a legjobb tulajdonságokat Relációs adatbázisokra fókuszál Advanced objektum-orientált koncepciók Az OpenJPA egy Java Persistence API specifikáció nyílt forráskódú implementációja. Ez egy objektum-relációs leképezés (ORM) megoldás a Java programozási nyelven, amely leegyszerűsíti a java objektumok adatbázisba való mentését. Azoknak a Java fejlesztőknek, akiknek szüksége van arra, hogy adatokat tároljanak, kérdezzenek le, elég sok eszköz áll rendelkezésükre. Ilyen eszközök például a szerializáció, JDBC, JDO..stb. Minek még egy framework, ha ez mind rendelkezésre áll? Egyszerűen azért, mert a felsorolt eszközök közül a JDO kivételével mindnek van valamilyen korlátozása. Ezeket a korlátozásokat küszöböli ki a JPA. A JPA ötvözi a felsorolt perzisztencia mechanizmusok közül a legjobb cuccokat. Engedi az advanced objektum-orientált koncepciók használatát, mint például az öröklés.
Benchmark I.
Benchmark II.
Benchmark III.
Köszönöm a figyelmet!