JDO vs Value Object
JDO je Java tehnologija postojanosti koja se može koristiti za pohranjivanje POJO (Plain Old Java Objects) u baze podataka bez potrebe za razumijevanjem temeljnih implementacija različitih pohrana podataka. Objekt vrijednosti (također poznat kao objekt prijenosa podataka) apstraktni je uzorak dizajna koji uvodi koncept jednostavnog nositelja podataka u svrhu prijenosa podataka između više slojeva i razina.
Što je JDO?
JDO (Java Data Objects) pruža mehanizam za pružanje postojanosti Java objektima i pristupu bazi podataka. JDO je vrlo transparentan jer omogućuje razvojnim programerima Java aplikacija pristup temeljnim podacima bez potrebe za pisanjem koda specifičnog za baze podataka. JDO se može koristiti na nekoliko razina uključujući Java Standard Edition, web-sloj i aplikacijske poslužitelje. JDO API alternativa je drugoj postojanosti (čuvanje objekata nakon prekida programa) Java objekata kao što su Serialization, JDBC (Java DataBase Connectivity) i EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO koristi XML i poboljšanje bajt koda. Glavna prednost korištenja JDO API-ja je ta da mogu pohranjivati podatke bez potrebe za učenjem novog jezika upita kao što je SQL (što ovisi o vrsti pohrane podataka). JDO je vrlo jednostavan za korištenje jer se programeri mogu usredotočiti samo na objektni model svoje domene. I ne samo to, JDO sam optimizira kod prema pristupu podacima. Budući da JDO API nije striktan u pogledu vrste pohrane podataka, isto sučelje mogu koristiti programeri java aplikacija za pohranu java objekata u bilo koju pohranu podataka uključujući relacijsku bazu podataka, objektnu bazu podataka ili XML. JDO je vrlo prenosiv jer modifikacija ili rekompilacija nisu potrebne za rad na implementacijama različitih dobavljača.
Što je objekt vrijednosti?
Objekt vrijednosti poznat i kao objekti prijenosa podataka (DTO) jednostavan je apstraktni uzorak dizajna koji se bavi spremnikom podataka za držanje podataka u svrhu prijenosa podataka između slojeva i razina. Iako je najtočniji izraz za ovaj obrazac objekt prijenosa podataka, zbog pogreške u prvoj verziji Core J2EE uveden je kao objekt vrijednosti. Iako je ova pogreška ispravljena u 2. izdanju, ovaj naziv je postao popularan i još uvijek se intenzivno koristi umjesto Data Transfer Object (ali treba napomenuti da je točan izraz Data Transfer Object). DTO uzorak dizajna koristi se s beanovima entiteta, JDBC i JDO za ispravljanje problema koji se javljaju u vezi s izolacijom i transakcijama u poslovnim aplikacijama. Važno je napomenuti da su to samo jednostavni nositelji podataka koji se koriste za prijenos podataka između klijenta i baze podataka i ne pružaju nikakvu postojanost. DTO služi u svrhu djelovanja kao objekti koji se mogu serijalizirati u tradicionalnom EJB-u (kao bean entiteta prije 3.0 se ne mogu serijalizirati). U zasebnoj fazi sklapanja koju definira DTO, svi podaci koje koristi pogled prikupljaju se i marširaju prije otpuštanja kontrole na prezentacijski sloj.
Koja je razlika između JDO i Value Object?
JDO je zapravo tehnologija postojanosti koja se koristi za pohranjivanje Java objekata u baze podataka koja pruža pogodnost programerima rukovanjem svim detaljima razine implementacije i dopuštajući programerima da se usredotoče na kodiranje koje nije specifično za bazu podataka. No, objekt vrijednosti predstavlja apstraktni uzorak dizajna (ne tehnologiju) koji pruža generički nositelj podataka poznat kao objekt prijenosa podataka koji može držati podatke u svrhu prijenosa između klijenta i baza podataka. JDO pruža mogućnost zadržavanja stavki podataka, dok se Value Object bavi samo privremenim čuvanjem podataka tijekom razdoblja prijenosa podataka. Drugim riječima, objekt vrijednosti ne pruža postojanost.