JDO proti vrednostnemu objektu
JDO je tehnologija obstoja Java, ki jo je mogoče uporabiti za shranjevanje POJO (Navadnih starih predmetov Java) v baze podatkov, ne da bi bilo treba razumeti osnovne izvedbe različnih shramb podatkov. Vrednostni objekt (znan tudi kot objekt prenosa podatkov) je abstraktni oblikovalski vzorec, ki uvaja koncept preprostega imetnika podatkov za prenos podatkov med več sloji in stopnjami.
Kaj je JDO?
JDO (Java Data Objects) zagotavlja mehanizem za zagotavljanje obstojnosti Java predmetov in dostopa do baze podatkov. JDO je zelo pregleden, saj razvijalcem aplikacij Java omogoča dostop do osnovnih podatkov, ne da bi morali zapisati nobeno kodo, ki je značilna za baze podatkov. JDO se lahko uporablja v več nivojih, vključno s standardno različico Java, spletnim in aplikacijskim strežnikom. API JDO je alternativa drugi vztrajnosti (hranjenje predmetov po prekinitvi programa) Java predmetov, kot so serializacija, JDBC (Java DataBase Connectivity) in EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO uporablja XML in izboljšanje bajtode. Glavna prednost uporabe JDO API je, da lahko shranjujejo podatke, ne da bi se morali naučiti novega poizvedbenega jezika, kot je SQL (odvisno od vrste shranjevanja podatkov). JDO je zelo enostaven za uporabo, saj se lahko razvijalci osredotočijo samo na svoj objektni model domene. Ne samo to, JDO optimizira kodo sam po sebi glede na dostop do podatkov. Ker API JDO ni strog glede vrste shranjevanja podatkov, lahko razvijalci aplikacije Java uporabijo isti vmesnik za shranjevanje predmetov Java v katero koli shrambo podatkov, vključno z relacijsko bazo podatkov, objektno bazo ali XML. JDO je zelo prenosljiv, ker za izvajanje pri različnih izvedbah dobaviteljev ni potrebno spreminjanje ali prekompilacija.
Kaj je vrednostni objekt?
Vrednostni objekt, znan tudi kot Predmeti za prenos podatkov (DTO), je preprost abstraktni oblikovalski vzorec, ki obravnava podatkovni vsebnik za shranjevanje podatkov za prenos podatkov med sloji in stopnjami. Čeprav je najbolj natančen izraz za ta vzorec Predmet prenosa podatkov, je bil zaradi napake v prvi različici Core J2EE predstavljen kot vrednostni objekt. Čeprav je bila ta napaka odpravljena v 2. izdaji, je to ime postalo priljubljeno in se še vedno močno uporablja namesto Objekta za prenos podatkov (vendar je treba opozoriti, da je pravilen izraz Predmet prenosa podatkov). DTO oblikovalski vzorec se uporablja z entitetnimi fižoli, JDBC in JDO za odpravljanje težav, ki se pojavijo v zvezi z izolacijo in transakcijami v podjetniških aplikacijah. Pomembno je opozoriti, da gre le za enostavne imetnike podatkov, ki se uporabljajo za prenos podatkov med odjemalcem in bazo podatkov in ne zagotavljajo nobene vztrajnosti. DTO služi namenu ponazoritvenih predmetov v tradicionalni EJB (saj entitetni fižol pred 3.0 ni mogoče serijsko določiti). V ločeni fazi sestavljanja, ki jo določi DTO, se vsi podatki, ki jih uporablja pogled, pridobijo in razvrstijo pred sprostitvijo nadzora na predstavitveni sloj.
Kakšna je razlika med JDO in vrednostnim objektom?
JDO je pravzaprav tehnologija obstoja, ki se uporablja za shranjevanje predmetov Java v baze podatkov, kar razvijalcem zagotavlja udobje, tako da obravnava vse podrobnosti na ravni izvajanja in omogoča razvijalcem, da se osredotočijo na kodiranje, ki ni specifično za bazo podatkov. Vendar vrednost Vrednost predstavlja abstraktni oblikovalski vzorec (ne tehnologija), ki zagotavlja generičnega imetnika podatkov, znanega kot Predmet prenosa podatkov, ki lahko hrani podatke za prenos med odjemalcem in bazami podatkov. JDO zagotavlja možnost vztrajanja podatkovnih postavk, medtem ko vrednost Value Object le začasno hrani podatke v obdobju prenosa podatkov. Z drugimi besedami, vrednost Objekt ne zagotavlja vztrajnosti.