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
Connectionalkaenjavax.jdo.PersistenceManager - Lisää: Nimetyt kyselyt (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, useita käyttäjäobjekteja PM
JDO-viitetoteutukset
- JDO 1.0: FOStore
- JDO 2.0: JPOX 1.1
- JDO 2.1: JPOX 1.2
- JDO 2.2: DataNucleus AccessPlatform 1.0.1
- JDO 3.0: DataNucleus AccessPlatform 2.1.0
- JDO 3.1: DataNucleus AccessPlatform 3.2.0
- JDO 3.2: DataNucleus AccessPlatform 5.2.0
Katso myös
- Objektisuhdekartoitus
- Objektitietokanta
- Java Persistence -sovellusliittymä (JPA)
- DataNucleus
- ObjectDB
- ActiveJPA
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 .