Hibernate
A Hibernate egy objektum-relációs leképezést (ORM) megvalósító programkönyvtár Java platformra (a Hibernate-nek létezik egy .NET platformra szánt verziója is NHibernate néven). 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. A Hibernate egy adatlekérdező nyelvet is biztosít (HQL - Hibernate Query Language), melynek segítségével adatbázis-kezelő rendszerek között hordozható lekérdezéseket írhatunk (ugyanakkor támogatja a natív SQL lekérdezések írását is). 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 Hibernate használható önálló Java alkalmazásokban is, ugyanakkor tipikusan Java EE környezetben alkalmazzák. A Hibernate szabad szoftver, a GNU Lesser General Public License alatt érhető el, azaz a programkönyvtár kereskedelmi célú szoftverekben is felhasználható. Osztályok leképezése adattáblákraA leképezés az osztályok és az adattáblák között XML fájlok vagy annotációk segítségével történik. Ezen metainformációk segítségével a Hibernate létre is tudja hozni az adatbázisban a megfelelő táblákat. Lehetőség van egy-a-többhöz és több-az-egyhez típusú kapcsolatok leképezésére is.
A Hibernate a fejlesztő számára transzparens módon biztosítja a POJO-k (Plain Old Java Object) perzisztenciáját. Az egyetlen fontos követelmény, hogy az osztálynak rendelkeznie kell egy argumentum nélküli konstruktorral, valamint ajánlott, hogy felüldefiniáljuk az TörténeteA Hibernate fejlesztését Gavin King kezdte el 2001-ben, hogy alternatívát hozzon létre az EJB2 által propagált entity bean-ekhez. Azt a célt tűzte ki maga elé, hogy jobb és egyszerűbb módot biztosítson a perzisztencia kezelésére, mint az EJB2 által kínált lehetőség. 2003 elején a Hibernate-t fejlesztő csapat kiadta a Hibernate 2-t, amely jelentős javításokat tartalmazott az első kiadáshoz képest. A JBoss később alkalmazta a vezető fejlesztőket, és velük együtt dolgozva támogatta a Hibernate fejlesztését. 2010-től kezdve a Hibernate a 3.x verziók alatt érhető el. A 3.5-ös verzió óta a Java Persistence API 2.0-s verziójának elismert implementációja. HQLA Hibernate Query Language teszi lehetővé lekérdezések írását és futtatását. Technikailag a HQL-t a Hibernate Criteria API értelmezi, majd azt AST segítségével az aktuális SQL dialektusra fordítva végrehajtja. Hibernate APIA Hibernate API az org.hibernate.SessionFactory interfészSzálbiztos és immutable objektum Session-ök létrehozására. Az alkalmazások az ezt az interfészt implementáló osztály egyetlen példányát használják. org.hibernate.Session interfészEnnek az interfésznek az implementációi biztosítják az entitásokon való műveletek végzését. Ezek a műveletek magukban foglalják többek között a perzisztencia állapotok (persistence state: transient, persisted, detached) menedzselését, az adatok beolvasását/kiírását az adatbázisba, valamint a tranzakciók határainak megjelölését. A Session objektum nem szálbiztos, csak egy kliens használhatja egyszerre. További információk
|