JDO vs Value Object
A JDO egy Java perzisztencia-technológia, amelyet POJO (Plain Old Java Objects) tárolására használhatunk adatbázisokba anélkül, hogy meg kellene értenünk a különféle adattárolók mögöttes megvalósításait. Az Érték Objektum (más néven Adatátviteli Objektum) egy elvont tervezési minta, amely bevezeti az egyszerű adattároló fogalmát az adatok többrétegű és rétegek közötti adatátvitelére..
Mi a JDO??
A JDO (Java Data Objects) mechanizmust biztosít a kitartáshoz a Java objektumokhoz és az adatbázis-hozzáféréshez. A JDO rendkívül átlátható, mivel lehetővé teszi a Java alkalmazások fejlesztõinek az alapjául szolgáló adatokhoz való hozzáférést anélkül, hogy az adatbázisokra specifikus kódot kellene írniuk. A JDO több rétegben is használható, beleértve a Java Standard Edition, a Web szint és az alkalmazáskiszolgálókat. A JDO API alternatívája a Java objektumok más perzisztenciájának (az objektumok megtartása a program megszakítása után), például a Serialization, a JDBC (Java DataBase Connectivity) és az EJB CMP (Enterprise JavaBeans architektúra Container által kezelt perzisztencia). A JDO XML-t és a bytecode javítását használja. A JDO API használatának fő előnye, hogy adatokat tárolhatnak anélkül, hogy új lekérdezési nyelvet, például SQL-t tanulnának (ami az adattárolás típusától függ). A JDO nagyon egyszerűen használható, mivel a fejlesztők csak a domainobjektummodellre koncentrálhatnak. Nemcsak ezt, a JDO optimalizálja a kódot az adathozzáférés szerint. Mivel a JDO API nem szigorú az adattárolás típusa alapján, a java alkalmazásfejlesztők ugyanazt a felületet használhatják a java objektumok tárolására bármilyen adattárolóba, beleértve a relációs adatbázist, az objektum adatbázist vagy az XML-t. A JDO rendkívül hordozható, mivel a különféle gyártói megvalósítások futtatásához nincs szükség módosításra vagy újrafordításra.
Mi az az objektum??
A Value Object (Data Object, DTO) néven is ismert, egy egyszerű elvont tervezési minta, amely egy adattárolóval foglalkozik, amely az adatok tárolására szolgál a rétegek és a rétegek közötti adatátvitel céljából. Bár ennek a mintának a legpontosabb kifejezése az Adatátviteli Objektum, a Core J2EE első verziójának hibája miatt, Objektumként került bevezetésre. Annak ellenére, hogy ezt a hibát a 2. kiadásban kijavították, ez a név népszerűvé vált, és továbbra is erősen használják az adatátviteli objektum helyett (de meg kell jegyezni, hogy a helyes kifejezés az Adatátviteli objektum). A DTO tervezési mintát az entitásbabok, JDBC és JDO esetén használják az elszigeteltséggel és a vállalati alkalmazások tranzakcióival kapcsolatban felmerülő problémák orvoslására. Fontos megjegyezni, hogy ezek csak egyszerű adattulajdonosok, amelyeket az ügyfél és az adatbázis közötti adatátvitelre használnak, és nem nyújtanak semmilyen megmaradást. A DTO arra szolgál, hogy a hagyományos EJB-ben sorozható objektumokká váljon (mivel a 3.0 előtti entitásbabok nem sorozhatók). A DTO által meghatározott különálló összeszerelési szakaszban a nézet által felhasznált összes adat megszerződik és rendeződik, mielőtt a vezérlő a bemutató rétegre kiadná.
Mi a különbség a JDO és az Value Object között??
A JDO valójában egy perzisztencia-technológia, amelyet a Java objektumok adatbázisba történő tárolására használnak, és amely a fejlesztők számára kényelmet biztosít azáltal, hogy kezeli az összes végrehajtási szintű részletet, és lehetővé teszi a fejlesztőknek, hogy a nem adatbázis-specifikus kódolásokra összpontosítsanak. De az Értékobjektum egy absztrakt tervezési mintát képvisel (nem technológiát), amely adatátviteli objektumnak nevezett általános adattárolót biztosít, amely adatokat tárolhat az ügyfél és az adatbázisok közötti átvitel céljából. A JDO biztosítja a fennmaradó adatelemeket, míg az Value Object csak az adatok átmeneti megőrzésével foglalkozik az adatátvitel ideje alatt. Más szavakkal, az Value Object nem nyújt fennmaradást.