Skillnad mellan JDO och Value Object

JDO vs värdeobjekt

JDO är en Java-persistensteknologi som kan användas för att lagra POJO (Vanliga gamla Java-objekt) till databaser utan att behöva förstå de underliggande implementeringarna av olika datalager. Värdeobjekt (även känt som Dataöverföringsobjekt) är ett abstrakt designmönster som introducerar begreppet en enkel datahållare för att överföra data mellan flera lager och nivåer.

Vad är JDO?

JDO (Java Data Objects) tillhandahåller en mekanism för att leverera uthållighet till Java-objekt och databasåtkomst. JDO är mycket transparent eftersom det tillåter Java-programutvecklare att komma åt den underliggande data utan att behöva skriva någon kod som är specifik för databaser. JDO kan användas över flera nivåer, inklusive Java Standard Edition, Web-tier och applikationsservrar. JDO API är ett alternativ till annan persistens (hålla objekt efter abort av programmet) av Java-objekt som Serialization, JDBC (Java DataBase Connectivity) och EJB CMP (Enterprise JavaBeans Architecture Container Managed Persistence). JDO använder XML och förbättring av bytecode. Den största fördelen med att använda JDO API är att de kan lagra data utan att behöva lära sig ett nytt fråge språk som SQL (vilket beror på vilken typ av datalagring). JDO är mycket lätt att använda eftersom utvecklare kan fokusera endast på domänobjektmodellen. Inte bara detta optimerar JDO koden i sig enligt dataåtkomst. Eftersom JDO API inte är strikt på typen av datalagret kan samma gränssnitt användas av Java-programutvecklare för att lagra Java-objekt till alla datalager, inklusive relationsdatabas, objektdatabas eller XML. JDO är mycket bärbar eftersom modifiering eller omkompilering inte behövs för att köras på olika leverantörs implementeringar.

Vad är Value Object?

Värdet Objekt som även kallas Dataöverföringsobjekt (DTO) är ett enkelt abstrakt designmönster som behandlar en datakontainer för att hålla data för att överföra data mellan skikt och nivåer. Även om den mest exakta termen för detta mönster är Dataöverföringsobjektet, på grund av ett misstag i Core J2EEs första version introducerades det som Value Object. Även om detta misstag korrigerades i 2: a upplagan blev detta namn populärt och används fortfarande kraftigt istället för Dataöverföringsobjekt (men det bör noteras att rätt term är Dataöverföringsobjekt). DTO-mönstret används med företagsbönor, JDBC och JDO för att rätta till problem som uppstår när det gäller isolering och transaktioner i företagsapplikationer. Det är viktigt att notera att dessa endast är enkla datainnehavare som används för att överföra data mellan klienten och databasen och de ger inte uthållighet av något slag. DTO tjänar som syfte att fungera som serialiserbara objekt i traditionell EJB (som entitetsbönor före 3,0 är inte serialiserbara). I en separat sammansättningsfas definierad av DTO förvärvas samtliga data som används av vyn och marsaliseras före frigöringen av kontrollen till presentationsskiktet.

Vad är skillnaden mellan JDO och Value Object?

JDO är faktiskt en persistensteknologi som används för att lagra Java-objekt i databaser som ger bekvämlighet till utvecklarna genom att hantera alla detaljeringsnivådetaljer och låta utvecklarna fokusera på icke-databasspecifik kodning. Men Value Object representerar ett abstrakt designmönster (inte en teknik) som ger en generisk datahållare känd som ett Dataöverföringsobjekt som kan hålla data för att överföra mellan klient och databaser. JDO tillhandahåller anläggningen av bestående data, medan Value Object endast handlar om att hålla data tillfälligt under dataöverföringsperioden. Med andra ord ger Value Object inte uthållighet.