JDO vs objekt hodnoty
JDO je technologie persistence Java, kterou lze použít k ukládání objektů POJO (Plain Old Java Objects) do databází, aniž by bylo nutné rozumět základním implementacím různých datových úložišť. Value Object (také známý jako Data Transfer Object) je abstraktní návrhový vzor, který zavádí koncept jednoduchého nosiče dat pro účely přenosu dat mezi více vrstvami a vrstvami.
Co je JDO?
JDO (Java Data Objects) poskytuje mechanismus pro zajištění stálosti objektů Java a přístupu k databázi. JDO je vysoce transparentní, protože umožňuje vývojářům Java aplikací přistupovat k podkladovým datům, aniž by museli psát jakýkoli kód specifický pro databáze. JDO lze použít na několika úrovních včetně Java Standard Edition, webové vrstvy a aplikačních serverů. JDO API je alternativou k jiné persistenci (udržování objektů po přerušení programu) objektů Java, jako je serializace, JDBC (Java DataBase Connectivity) a EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO používá XML a vylepšení bytecode. Hlavní výhodou použití JDO API je, že mohou ukládat data, aniž by se museli učit nový dotazovací jazyk, jako je SQL (který závisí na typu úložiště dat). JDO se velmi snadno používá, protože vývojáři se mohou soustředit pouze na svůj objektový model domény. Nejen to, JDO optimalizuje kód sám podle přístupu k datům. Protože JDO API není striktní na typ datového úložiště, mohou vývojáři Java aplikací použít stejné rozhraní k ukládání java objektů do libovolného datového úložiště včetně relační databáze, objektové databáze nebo XML. JDO je vysoce přenosné, protože ke spuštění na implementacích různých dodavatelů není nutná úprava nebo rekompilace.
Co je hodnotový objekt?
Value Object známý také jako Data transfer Objects (DTO) je jednoduchý abstraktní návrhový vzor, který se zabývá datovým kontejnerem pro uložení dat za účelem přenosu dat mezi vrstvami a vrstvami. Ačkoli nejpřesnějším termínem pro tento vzor je objekt přenosu dat, kvůli chybě v první verzi Core J2EE byl zaveden jako objekt hodnoty. Ačkoli byla tato chyba opravena ve 2. vydání, tento název se stal populárním a stále se hojně používá namísto Data Transfer Object (je však třeba poznamenat, že správný termín je Data Transfer Object). Návrhový vzor DTO se používá s entitami, JDBC a JDO k nápravě problémů vyskytujících se s ohledem na izolaci a transakce v podnikových aplikacích. Je důležité poznamenat, že se jedná pouze o jednoduché nosiče dat používané k přenosu dat mezi klientem a databází a neposkytují žádnou perzistenci. DTO slouží k tomu, aby fungovalo jako serializovatelné objekty v tradičním EJB (jako objekty entit před 3.0 nelze serializovat). V samostatné fázi sestavování definované DTO jsou všechna data používaná zobrazením získána a zařazena před uvolněním ovládacího prvku do prezentační vrstvy.
Jaký je rozdíl mezi JDO a Value Object?
JDO je ve skutečnosti technologie persistence používaná k ukládání objektů Java do databází, která poskytuje pohodlí vývojářům tím, že zpracovává všechny detaily implementační úrovně a umožňuje vývojářům soustředit se na kódování nespecifické pro databázi. Objekt hodnoty však představuje abstraktní návrhový vzor (nikoli technologii), který poskytuje obecný držitel dat známý jako objekt přenosu dat, který může uchovávat data pro účely přenosu mezi klientem a databázemi. JDO poskytuje možnost perzistence datových položek, zatímco Value Object se zabývá pouze dočasným uchováváním dat během období přenosu dat. Jinými slovy, Value Object neposkytuje persistenci.