JDO vs objekt hodnoty
JDO je technológia trvalosti Java, ktorú možno použiť na ukladanie objektov POJO (Plain Old Java Objects) do databáz bez potreby porozumieť základným implementáciám rôznych úložísk údajov. Hodnotový objekt (známy aj ako objekt prenosu údajov) je abstraktný návrhový vzor, ktorý predstavuje koncept jednoduchého držiaka údajov na účely prenosu údajov medzi viacerými vrstvami a vrstvami.
Čo je JDO?
JDO (Java Data Objects) poskytuje mechanizmus na zabezpečenie trvalosti objektov Java a prístupu k databáze. JDO je vysoko transparentné, pretože umožňuje vývojárom aplikácií Java pristupovať k základným údajom bez toho, aby museli písať akýkoľvek kód špecifický pre databázy. JDO je možné použiť na niekoľkých úrovniach vrátane Java Standard Edition, webovej vrstvy a aplikačných serverov. JDO API je alternatívou k inej perzistencii (udržiavanie objektov po prerušení programu) objektov Java, ako sú Serializácia, JDBC (Java DataBase Connectivity) a EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO používa XML a vylepšenie bajtkódu. Hlavnou výhodou použitia JDO API je, že môžu ukladať údaje bez toho, aby sa museli učiť nový dopytovací jazyk, ako je SQL (ktorý závisí od typu ukladania údajov). Použitie JDO je veľmi jednoduché, pretože vývojári sa môžu sústrediť iba na objektový model svojej domény. A nielen to, JDO sám optimalizuje kód podľa prístupu k dátam. Pretože JDO API nie je striktné, pokiaľ ide o typ úložiska údajov, vývojári aplikácií Java môžu použiť rovnaké rozhranie na ukladanie objektov Java do ľubovoľného úložiska údajov vrátane relačnej databázy, databázy objektov alebo XML. JDO je vysoko prenosné, pretože na spustenie v implementáciách rôznych dodávateľov nie je potrebná úprava alebo rekompilácia.
Čo je to hodnotový objekt?
Value Object známy aj ako Data transfer Objects (DTO) je jednoduchý abstraktný návrhový vzor, ktorý sa zaoberá dátovým kontajnerom na uchovávanie dát na účely prenosu dát medzi vrstvami a vrstvami. Hoci najpresnejší výraz pre tento vzor je objekt prenosu údajov, kvôli chybe v prvej verzii Core J2EE bol zavedený ako objekt hodnoty. Aj keď bola táto chyba opravená v 2. vydaní, tento názov sa stal populárnym a stále sa hojne používa namiesto Data Transfer Object (treba však poznamenať, že správny výraz je Data Transfer Object). Návrhový vzor DTO sa používa s entitami, JDBC a JDO na nápravu problémov vyskytujúcich sa v súvislosti s izoláciou a transakciami v podnikových aplikáciách. Je dôležité poznamenať, že ide len o jednoduché nosiče údajov používané na prenos údajov medzi klientom a databázou a neposkytujú žiadnu stálosť. DTO slúži na to, aby fungoval ako serializovateľné objekty v tradičnom EJB (ako objekty entít pred 3.0 nie sú serializovateľné). V samostatnej fáze zostavovania definovanej organizáciou DTO sú všetky údaje používané zobrazením získané a usporiadané pred uvoľnením ovládacieho prvku do prezentačnej vrstvy.
Aký je rozdiel medzi JDO a Value Object?
JDO je v skutočnosti trvalá technológia používaná na ukladanie objektov Java do databáz, ktorá poskytuje pohodlie vývojárom tým, že spracováva všetky podrobnosti na úrovni implementácie a umožňuje vývojárom zamerať sa na kódovanie nešpecifické pre databázu. Objekt hodnoty však predstavuje abstraktný návrhový vzor (nie technológiu), ktorý poskytuje generický držiteľ údajov známy ako objekt prenosu údajov, ktorý môže uchovávať údaje na účely prenosu medzi klientom a databázami. JDO poskytuje možnosť uchovávania údajových položiek, zatiaľ čo Value Object sa zaoberá iba dočasnou úschovou údajov počas obdobia prenosu údajov. Inými slovami, Value Object neposkytuje stálosť.