JDO vs Value Object
JDO je Java tehnologija postojanosti koja se može koristiti za pohranjivanje POJO (običnih starih Java objekata) u baze podataka bez potrebe za razumijevanjem osnovnih implementacija različitih skladišta podataka. Objekt vrijednosti (također poznat kao Data Transfer Object) je apstraktni obrazac dizajna koji uvodi koncept jednostavnog držača podataka u svrhu prijenosa podataka između više slojeva i slojeva.
Šta je JDO?
JDO (Java Data Objects) pruža mehanizam za isporuku postojanosti Java objektima i pristup bazi podataka. JDO je veoma transparentan jer omogućava programerima Java aplikacija da pristupe osnovnim podacima bez potrebe za pisanjem bilo kakvog koda specifičnog za baze podataka. JDO se može koristiti na nekoliko nivoa uključujući Java Standard Edition, Web-tier i servere aplikacija. JDO API je alternativa drugoj postojanosti (čuvanje objekata nakon prekida programa) Java objekata kao što su serijalizacija, JDBC (Java DataBase Connectivity) i EJB CMP (Enterprise JavaBeans arhitektura Container Managed Persistence). JDO koristi XML i poboljšanje bajtkoda. Glavna prednost korištenja JDO API-ja je da 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 korištenje budući da se programeri mogu fokusirati samo na svoj objektni model domene. I ne samo ovo, JDO sam optimizuje kod prema pristupu podacima. Budući da JDO API nije striktan prema tipu skladišta podataka, isto sučelje mogu koristiti programeri java aplikacija za pohranjivanje java objekata u bilo koje spremište podataka uključujući relacionu bazu podataka, bazu podataka objekata ili XML. JDO je vrlo prenosiv jer modifikacija ili rekompilacija nije potrebna za pokretanje na različitim implementacijama dobavljača.
Šta je objekt vrijednosti?
Value Object također poznat kao Data Transfer Objects (DTO) je jednostavan apstraktni obrazac dizajna koji se bavi spremnikom podataka za držanje podataka u svrhu prijenosa podataka između slojeva i slojeva. Iako je najprecizniji izraz za ovaj obrazac Data Transfer Object, zbog greške u prvoj verziji Core J2EE uveden je kao Value Object. Iako je ova greška ispravljena u 2. izdanju, ovaj naziv je postao popularan i još uvijek se često koristi umjesto Data Transfer Object (ali treba napomenuti da je ispravan termin Data Transfer Object). DTO obrazac dizajna se koristi sa entitetskim beanovima, JDBC i JDO za ispravljanje problema koji se javljaju u pogledu izolacije i transakcija u poslovnim aplikacijama. Važno je napomenuti da su ovo samo jednostavni držači podataka koji se koriste za prijenos podataka između klijenta i baze podataka i ne pružaju postojanost bilo koje vrste. DTO služi svrsi da djeluje kao objekti koji se mogu serijalizirati u tradicionalnom EJB-u (kao entitetski grah prije 3.0 se ne mogu serijalizirati). U zasebnoj fazi sklapanja koju definira DTO, svi podaci koje koristi pogled se prikupljaju i raspoređuju prije puštanja kontrole u sloj prezentacije.
Koja je razlika između JDO-a i vrijednosnog objekta?
JDO je zapravo tehnologija perzistentnosti koja se koristi za pohranjivanje Java objekata u baze podataka koja pruža pogodnost programerima rukovanjem svim detaljima nivoa implementacije i omogućavajući programerima da se fokusiraju na kodiranje koje nije specifično za bazu podataka. Ali, objekt vrijednosti predstavlja apstraktni obrazac dizajna (ne tehnologiju) koji pruža generički držač podataka poznat kao Data Transfer Object koji može držati podatke u svrhu prijenosa između klijenta i baze podataka. JDO pruža mogućnost trajnih stavki podataka, dok se Value Object bavi samo privremenim čuvanjem podataka tokom perioda prijenosa podataka. Drugim riječima, objekt vrijednosti ne pruža postojanost.