JDO vs Vrijednost objekta
JDO je uporna Java tehnologija koja se može koristiti za spremanje POJO (Običnih starih Java objekata) u baze podataka bez potrebe za razumijevanjem temeljnih implementacija različitih spremišta podataka. Vrijednostni objekt (poznat i kao objekt prijenosa podataka) apstraktni je dizajnerski obrazac koji uvodi koncept jednostavnog nositelja podataka u svrhu prijenosa podataka između više slojeva i slojeva.
Što je JDO?
JDO (Java Data Objects) pruža mehanizam za pružanje upornosti Java objektima i pristupu bazi podataka. JDO je vrlo transparentan jer omogućava programerima Java aplikacija da pristupe osnovnim podacima bez potrebe za pisanjem bilo kojeg koda specifičnog za baze podataka. JDO se može koristiti na više slojeva, uključujući Java Standard Edition, web-slojeve i poslužitelje aplikacija. JDO API je alternativa drugoj postojanosti (čuvanju objekata nakon prekida programa) Java objekata kao što su serializacija, 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 što oni mogu pohraniti podatke bez potrebe za učenjem novog jezika upita, kao što je SQL (što ovisi o vrsti pohrane podataka). JDO je vrlo jednostavan za upotrebu budući da se programeri mogu fokusirati samo na njihov objektni model domene. I ne samo to, JDO sam po sebi optimizira kod prema pristupu podacima. Budući da JDO API nije strog prema vrsti spremišta podataka, isto sučelje mogu razviti programeri java aplikacije za pohranjivanje 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 pokretanje različitih dobavljača.
Što je vrijednost objekta?
Vrijednostni objekt poznat i pod nazivom Objekti za prijenos podataka (DTO) jednostavan je apstraktni dizajnerski obrazac koji se bavi spremnikom podataka za čuvanje podataka u svrhu prijenosa podataka između slojeva i slojeva. Iako je za ovaj obrazac najtačniji izraz objekt Prijenos podataka, zbog pogreške u prvoj verziji Core J2EE uveden je kao Vrijednostni objekt. Iako je ta pogreška ispravljena u drugom izdanju, ovo je ime postalo popularno i još uvijek se često upotrebljava umjesto Objekta za prijenos podataka (ali treba napomenuti da je ispravan izraz Objekt prijenosa podataka). DTO obrazac dizajna koristi se s entitetskim grahom, 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 trajnost. DTO služi svrsi djelovanja kao Serializable objekata u tradicionalnom EJB (jer entitetski grah prije 3.0 nije moguće serializirati). U posebnoj fazi sastavljanja koju je definirao DTO, svi podaci korišteni u pogledu prikupljaju se i maršaraju prije puštanja kontrole u prezentacijski sloj.
Koja je razlika između JDO i Value Object-a?
JDO je zapravo tehnologija postojanosti koja se koristi za spremanje Java objekata u baze podataka koja programerima pruža praktičnost rukovanjem svim detaljima razine implementacije i omogućava programerima da se usredotoče na kodiranje koje nije specifično za bazu podataka. Ali, Vrijednostni objekt predstavlja apstraktni obrazac dizajna (ne tehnologija) koji pruža generički nositelj podataka poznat kao Objekt prijenosa podataka koji može sadržavati podatke u svrhu prijenosa između klijenta i baze podataka. JDO pruža mogućnost upornosti podataka, dok se Value Object samo privremeno čuva tijekom razdoblja prijenosa podataka. Drugim riječima, Vrijednostni objekt ne pruža upornost.