Java-dataobjektit - Java Data Objects

Java Data Objects ( JDO ) on Java- objektien pysyvyyden määrittely . Yksi sen ominaisuuksista on pysyvyyspalvelujen avoimuus verkkotunnusmallille . JDO pysyviä esineet ovat tavallisia Java-ohjelmointikielellä luokat ( POJOs ); heidän ei tarvitse vaatia tiettyjen rajapintojen toteuttamista tai laajentamista erikoisluokista. JDO 1.0 kehitettiin Java-yhteisöprosessissa nimellä JSR 12 . JDO 2.0 kehitettiin JSR 243: lla ja julkaistiin 10. toukokuuta 2006. JDO 2.1 valmistui helmikuussa 2008, ja sen kehitti Apache JDO -projekti. JDO 2.2 julkaistiin lokakuussa 2008. JDO 3.0 julkaistiin huhtikuussa 2010.

Objektin pysyvyys on määritelty ulkoisissa XML- metatiedostoissa, joissa voi olla toimittajakohtaisia ​​laajennuksia. JDO-toimittajat tarjoavat kehittäjille parannuksia , jotka muokkaavat käännettyjä Java-luokan tiedostoja, jotta niitä voidaan ylläpitää avoimesti. (Huomaa, että tavukoodin parantamista ei vaadita JDO-määrityksessä, vaikka se onkin yleisesti käytetty mekanismi JDO-spesifikaation vaatimusten toteuttamiseksi.) Tällä hetkellä JDO-toimittajat tarjoavat useita vaihtoehtoja pysyvyydelle, esimerkiksi RDBMS: lle , OODB : lle tai tiedostoille .

JDO-parannetut luokat ovat kannettavia eri toimittajien toteutuksissa. Parannettua Java-luokkaa voidaan käyttää minkä tahansa toimittajan JDO-tuotteen kanssa.

JDO on integroitu Java EE : hen monin tavoin. Ensinnäkin, toimittajan toteutus voidaan toimittaa JEE-liittimenä . Toiseksi JDO voi toimia JEE- tapahtumapalvelujen yhteydessä .

JDO vs. EJB3 vs. JPA

Enterprise JavaBeans 3.0 (EJB3) -määritys kattoi myös pysyvyyden, samoin kuin EJB v2 ja Entity Beans . Kahden standardointielimen välillä on ollut ristiriitaisuuksia ensisijaisuuden suhteen. JDO: lla on useita kaupallisia toteutuksia.

Loppujen lopuksi pysyvyys on "purettu" "EJB3 Core" -sovelluksesta ja muodostettu uusi standardi, Java Persistence API (JPA). JPA käyttää javax.persistence pakettia, ja se määriteltiin ensin erillisessä asiakirjassa EJB3-spesifissä JSR 220 , mutta myöhemmin se siirrettiin omaan spesifikaatioonsa JSR 317 . On huomattavaa, että javax.persistence se ei vaadi EJB-säilöä, ja toimii siten myös Java SE -ympäristössä, kuten JDO: lla on aina. JPA on kuitenkin olio-relaatiokartoitus (ORM) -standardi, kun taas JDO on sekä objekti-relaatiokartoitusstandardi että läpinäkyvä objektin pysyvyysstandardi. JDO on API: n näkökulmasta agnostinen taustalla olevan tietopalvelun tekniikan suhteen, kun taas JPA on kohdistettu RDBMS-tietopisteisiin (vaikka on olemassa useita JPA-palveluntarjoajia, jotka tukevat pääsyä muihin kuin relaatioon perustuviin tietopalveluihin JPA-API: n kautta, kuten DataNucleus ObjectDB).

Johtavat JDO: n kaupalliset toteutukset ja avoimen lähdekoodin projektit tarjoavat myös JPA-sovellusliittymän toteuttamisen vaihtoehtona pääsyyn niiden perämoottoreihin, jotka aiemmin altistettiin yksinomaan alkuperäisten tuotteiden JDO: n kautta. JDO: ta on monia avoimen lähdekoodin toteutuksia.

JDO-version 2 uusia ominaisuuksia ei löydy versiosta 1

  • Katkaistun objektikuvaajan käsite
  • Standardoidut ORM-kartoituskuvaajat (ORM-pohjaisiin JDO-toteutuksiin)
  • JDOQL-parannukset (yhden merkkijonolomake; lisää merkkijono-, kartta- ja matematiikkamenetelmiä vaaditaan)
  • Hanki esimerkiksi Connection alkaen javax.jdo.PersistenceManager
  • Lisää: Nimetyt kyselyt (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, useita käyttäjäobjekteja PM

JDO-viitetoteutukset

Katso myös

Bibliografia

  • Jordan, David; Russell, Craig (22. huhtikuuta 2003). Java Data Objects (1. painos). O'Reilly Media . s. 384. ISBN   0-596-00276-9 .
  • Tyagi, Sameer; Vorburger, Michael; McCammon, Keiron; Bobzin, Heiko (21. syyskuuta 2003). Java-ydindataobjektit (1. painos). Prentice Hall . s. 576. ISBN   0-13-140731-7 .
  • Ezzio, David (6. kesäkuuta 2003). Java-dataobjektien käyttö ja ymmärtäminen (1. painos). Apress . s. 456. ISBN   1-59059-043-0 .

Ulkoiset linkit