Ugrás a tartalomhoz

Java Persistence API

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Bea22 (vitalap | szerkesztései) 2012. április 28., 23:52-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól.

A Java Persistence API, vagy röviden JPA, egy keretrendszer a Java programozási nyelvhez, fő feladata Java Platformot (Standard Edition, Enterprise Edition) használó alkalmazásokban relációs adatok kezelése. A Java Persistence API a JSR 220 Expert Group, a JPA 2.0 a JSR 317 Expert Group munkája.

A perzisztencia ebben a kontextusban a következő három területet fedi le:

Története

A JPA 1.0 specifikáció 2006. május 11-én jelent meg végleges formában a JSR 220 részeként. A JPA 2.0 specifikáció 2009 december 10-én jelent meg. A JPA a sokat kritizált EJB 2.0 és EJB 2.1 entitás bean-ek leváltására született.

Entitások

A perzisztencia entitás egy olyan Java osztály, mely tipikusan perzisztálva van egy táblához egy relációs adatbázisban, példányai adattáblák egyes sorainak felelnek meg. Az entitások általában kapcsolatban állnak más entitásokkal, és ezeket a kapcsolatokat az objektum-relációs metaadatok fejezik ki. Objektum-relációs metaadatokat meghatározhatunk közvetlenül az entitás osztályt tartalmazó fájlban annotációk segítségével, vagy egy – az alkalmazáshoz tartozó, de az entitás osztálytól különálló – XML leíró fájlban.

Java Persistence Query Language

A Java Persistence Query Language (JPQL) segítségével a relációs adatbázisban tárolt entitások kérdezhetők le. A lekérdezések szintaxisa hasonló az SQL lekérdezésekhez, de ezekben a lekérdezésekben entitás objektumokat kezelünk, nem közvetlenül adattáblákat.

Kapcsolódó technológiák

Enterprise JavaBeans

Az EJB 3.0 specifikáció (mely a Java EE 5 platform része) magában foglal egy definíciót a Java Persistence API-ról. Ugyanakkor a végfelhasználóknak nincsen szükségük EJB konténerre vagy Java EE alkalmazás szerverre annak érdekében, hogy olyan alkalmazást futtassanak, mely a JPA-t használja. A Java Persistence API következő verziói különálló JSR-ben lesznek definiálva, nem pedig az EJB JSR-ben.

A Java Persistence API az EJB 2.0 CMP (Container Managed Persistence) perzisztencia megoldását váltja fel.

Java Data Objects API

A Java Persistence API a Java Data Objects API és az EJB 2.0 CMP (Container Managed Persistence ) API egységesítésének részeként lett kifejlesztve. 2009 óta minden termék, ami ezen API-kat támogatja, az támogatja a JPA-t is. A Java Persistence API relációs perzisztenciát határoz meg kizárólag a relációs adatbázis-kezelő rendszerek (RDBMS-ek) számára (bár léteznek szolgáltatók, akik más adatforrásokat is támogatnak). A Java Data Objects specifikációk gondoskodnak a relációs perzisztenciáról (ORM, objektum-relációs leképezés), valamint a más típusú adattárak felé való perzisztenciáról is.

Service Data Object API

Ahogy Java Persistence API fejlődött, leváltotta az EJB 2.0-t, ennek bizonyítéka, hogy az EJB 3.0-nak már része. A Service Data Objects (SDO) API-nak (JSR 235) más a célja, és a Java Persistence API kiegészítőjeként tartják számon. Az SDO API a service orientált architektúrák számára lett tervezve, Java verzióját a Java Community Process kezeli, C++ verzióját az OASIS.

Hibernate

A Hibernate egy nyílt forráskódú objektum-relációs leképező keretrendszert nyújt Java-hoz. A 3.2-es és az ennél későbbi verziók a Java Persistence API-hoz is implementációt adnak. A Hibernate alapjait Gavin King fektette le.

JPA 2.0

A JPA új verziójának, a JPA 2.0 JSR 317-nek fejlesztése 2007 júliusában kezdődött, és a JPA 2.0 végül 2009. december 10-én lett jóváhagyva. A JPA 2.0 fő jellemzői:

  • kiterjesztett objektum-relációs leképezés funkcionalitás
    • beágyazott objektumokat tartalmazó kollekciók támogatása
    • több szinten beágyazott objektumok
    • rendezett listák
    • hozzáférés típusok kombinálása
  • criteria query API
  • további metaadatok szabványosítása a DDL generáció támogatására
  • validálás támogatása

A JPA 2.0-t támogató cégek:

Külső hivatkozások

Dokumentáció