Java adatobjektumok - Java Data Objects

A Java adatobjektumok ( JDO ) a Java objektumok perzisztenciájának specifikációi . Az egyik jellemzője a tartóssági szolgáltatások átláthatósága a tartományi modell felé . A JDO állandó objektumok közönséges Java programozási nyelv osztályok ( POJO ); Nincs szükség arra, hogy bizonyos interfészeket valósítsanak meg vagy speciális osztályokból lépjenek ki. JDO 1,0 alakult alatt Java Community Process mint JSR 12 . A JDO 2.0 a JSR 243 alatt lett kifejlesztve, és 2006. május 10-én jelent meg. A JDO 2.1 2008 februárjában készült el, az Apache JDO projekt fejlesztésével. A JDO 2.2 2008 októberében jelent meg. A JDO 3.0 2010 áprilisában jelent meg.

Az objektum perzisztenciát a külső XML metafájlok definiálják , amelyek szállítóspecifikus kiterjesztésekkel rendelkezhetnek. JDO gyártók a fejlesztők fokozó anyagok , amelyek módosítják lefordított Java class fájlokat, így azok is átlátható marad. (Ne feledje, hogy a bájtkód javítását a JDO specifikáció nem írja elő, bár ez a JDO specifikáció követelményeinek végrehajtására általánosan használt mechanizmus.) Jelenleg a JDO gyártók számos lehetőséget kínálnak a perzisztenciára, például RDBMS-nek , OODB -nek vagy fájloknak .

A JDO továbbfejlesztett osztályai különböző gyártók implementációiban hordozhatók. A továbbfejlesztés után a Java osztály bármely gyártó JDO termékével használható.

A JDO több szempontból is integrálódik a Java EE -vel. Először is, a szállító implementációja JEE csatlakozóként biztosítható . Másodszor, a JDO működhet a JEE tranzakciós szolgáltatásokkal összefüggésben .

JDO kontra EJB3 kontra JPA

Az Enterprise JavaBeans 3.0 (EJB3) specifikáció szintén kitart a kitartás mellett, csakúgy, mint az EJB v2 az Entity Beans esetében . A két szabványtestület között az elsőbbség szempontjából szabványkonfliktusok alakultak ki. A JDO-nak számos kereskedelmi megvalósítása van.

Végül a kitartás "kitört" az "EJB3 Core" -ból, és létrejött egy új szabvány, a Java Persistence API (JPA). A JPA használja a javax.persistence csomagot, amelyet először egy külön dokumentumban határoztak meg az EJB3 specifikációban, a JSR 220-ban , de később áthelyezték a saját JSR 317 specifikációjába . Lényeges, javax.persistence hogy nem lesz szükség EJB konténerre, és így a Java SE környezetben is működik, ahogy a JDO mindig is. A JPA azonban objektum-relációs leképezési (ORM) szabvány, míg a JDO mind objektum-relációs leképezési szabvány, mind pedig egy átlátszó objektum-perzisztencia szabvány. A JDO API szempontból agnosztikus az alapul szolgáló adattár technológiájával szemben, míg a JPA az RDBMS adattárolókra irányul (bár számos JPA szolgáltató támogatja a nem relációs adattárakhoz való hozzáférést a JPA API-n keresztül, mint például a DataNucleus és ObjectDB).

A vezető JDO kereskedelmi megvalósítások és nyílt forráskódú projektek szintén kínálják a JPA API megvalósítását, mint alternatív hozzáférést az alapul szolgáló perzisztens motorokhoz, amelyeket korábban kizárólag az eredeti termékek a JDO-n keresztül tettek ki. A JDO számos nyílt forráskódú megvalósítással rendelkezik.

A JDO 2. verziójának új szolgáltatásai nem találhatók az 1. verzióban

  • Leválasztott objektum grafikonok koncepció
  • Standardizált ORM leképezési leírók (ORM alapú JDO megvalósításokhoz)
  • JDOQL-továbbfejlesztések (Single String Form; több string, Map & Math módszer támogatása kötelező)
  • Get pl Connection származó javax.jdo.PersistenceManager
  • Bővebben: Elnevezett lekérdezések (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, több felhasználói objektum a PM-en

JDO referencia megvalósítások

Lásd még

Bibliográfia

  • Jordánia, Dávid; Russell, Craig (2003. április 22.). Java adatobjektumok (1. kiadás). O'Reilly Media . o. 384. ISBN   0-596-00276-9 .
  • Tyagi, Sameer; Vorburger, Michael; McCammon, Keiron; Bobzin, Heiko (2003. szeptember 21.). Java Java adatobjektumok (1. kiadás). Prentice Hall . o. 576. ISBN   0-13-140731-7 .
  • Ezzio, David (2003. június 6.). Java adatobjektumok használata és megértése (1. kiadás). Apress . o. 456. ISBN   1-59059-043-0 .

Külső linkek