JDO vs Értékobjektum
A JDO egy Java-perzisztencia-technológia, amellyel POJO-t (Plain Old Java Objects) tárolhat az adatbázisokban anélkül, hogy meg kellene értenie a különböző adattárak mögöttes megvalósításait. Az Értékobjektum (más néven adatátviteli objektum) egy elvont tervezési minta, amely bevezeti az egyszerű adattartó fogalmát az adatok több réteg és szint közötti átvitele céljából.
Mi az a JDO?
A JDO (Java Data Objects) mechanizmust biztosít a Java objektumokhoz való állandóság és az adatbázis-hozzáférés biztosításához. A JDO nagyon átlátszó, mert lehetővé teszi a Java alkalmazások fejlesztőinek az alapul szolgáló adatokhoz való hozzáférést anélkül, hogy bármilyen adatbázishoz tartozó kódot kellene írniuk. A JDO több szinten használható, beleértve a Java Standard Edition, a Web-réteg és az alkalmazáskiszolgálókat. A JDO API alternatívája a Java objektumok, például Serialization, JDBC (Java DataBase Connectivity) és EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence) egyéb kitartásának (az objektumok megtartása a program abortusza után) alternatívája. A JDO XML-t és a bájtkód fejlesztését használja. A JDO API használatának fő előnye, hogy képesek adatokat tárolni anélkül, hogy új lekérdezési nyelvet kellene megtanulniuk, például SQL-t (ami az adattárolás típusától függ). A JDO használata nagyon egyszerű, mivel a fejlesztők csak a saját objektummodelljükre koncentrálhatnak. A JDO nem csak ezt optimalizálja a kódot az adatokhoz való hozzáférésnek megfelelően. Mivel a JDO API nem szigorú az adattár típusára, a java alkalmazás fejlesztői ugyanazt a felületet használhatják java objektumok tárolására bármely adattárban, beleértve a relációs adatbázisokat, az objektumok adatbázisát vagy az XML-t. A JDO nagyon hordozható, mert nem szükséges módosítás vagy újrafordítás a különböző gyártói megvalósítások futtatásához. A JDO nagyon hordozható, mert nem szükséges módosítás vagy újrafordítás a különböző gyártói megvalósítások futtatásához. A JDO nagyon hordozható, mert nem szükséges módosítás vagy újrafordítás a különböző gyártói megvalósítások futtatásához.
Mi az értékobjektum?
Az Értékobjektum, más néven adatátviteli objektumok (DTO) egy egyszerű absztrakt tervezési minta, amely egy adattárolóval foglalkozik az adatok tárolására a rétegek és szintek 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 Value Object néven vezették be. Bár ezt a hibát kijavították a 2. kiadásban, 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ásbabokkal, a JDBC-vel és a JDO-val együtt használják a vállalati alkalmazások elszigeteltségével és tranzakcióival kapcsolatos 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 biztosítanak semmiféle kitartást. A DTO azt a célt szolgálja, hogy a hagyományos EJB-ben Serializálható objektumokként működjön (mivel a 3.0 előtti entitásbabok nem sorosíthatók). A DTO által meghatározott külön összeszerelési fázisban a nézet által használt összes adat összegyűjtésre kerül és átkerül a vezérlőnek a bemutató rétegbe történő felszabadítása előtt.
Mi a különbség a JDO és az Value Object között?
A JDO valójában egy olyan perzisztencia technológia, amelyet Java objektumok adatbázisokban történő tárolására használnak, amely kényelmet nyújt a fejlesztőknek azáltal, hogy kezeli az összes megvalósítási szintű részletet, és lehetővé teszi a fejlesztők számára, hogy a nem adatbázis-specifikus kódolásra összpontosítsanak. Az Értékobjektum azonban egy absztrakt tervezési mintát (nem technológiát) képvisel, amely egy általános adattartót biztosít, amely Data Transfer Object néven ismert, 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ó adatelemek lehetőségét, míg az Értékobjektum csak az adatok átmeneti időszakban történő ideiglenes megőrzésével foglalkozik. Más szavakkal, az Value Object nem nyújt tartósságot.