JDO a obiekt wartości
JDO to technologia trwałości Java, która może być używana do przechowywania POJO (Plain Old Java Objects) w bazach danych bez konieczności zrozumienia podstawowych implementacji różnych magazynów danych. Obiekt wartości (znany również jako obiekt transferu danych) to abstrakcyjny wzorzec projektowy, który wprowadza koncepcję prostego posiadacza danych w celu przesyłania danych między wieloma warstwami i warstwami.
Co to jest JDO?
JDO (Java Data Objects) udostępnia mechanizm zapewniający trwałość obiektów Java i dostęp do bazy danych. JDO jest wysoce przejrzyste, ponieważ pozwala twórcom aplikacji Java na dostęp do bazowych danych bez konieczności pisania kodu specyficznego dla baz danych. JDO może być używany na kilku poziomach, w tym Java Standard Edition, warstwach WWW i serwerach aplikacji. JDO API jest alternatywą dla innych utrwalania (przechowywania obiektów po przerwaniu programu) obiektów Java takich jak Serializacja, JDBC (Java DataBase Connectivity) oraz EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO wykorzystuje XML i udoskonalenie kodu bajtowego. Główną zaletą korzystania z JDO API jest możliwość przechowywania danych bez konieczności uczenia się nowego języka zapytań, takiego jak SQL (który zależy od rodzaju przechowywania danych). JDO jest bardzo łatwe w użyciu, ponieważ programiści mogą skupić się tylko na modelu obiektów domeny. Nie tylko to, JDO samodzielnie optymalizuje kod zgodnie z dostępem do danych. Ponieważ JDO API nie jest ściśle określony typ magazynu danych, ten sam interfejs może być używany przez programistów aplikacji Java do przechowywania obiektów Java w dowolnym magazynie danych, w tym relacyjnej bazie danych, obiektowej bazie danych lub XML. JDO jest wysoce przenośne, ponieważ modyfikacja lub ponowna kompilacja nie są potrzebne do uruchomienia w implementacjach różnych dostawców.
Co to jest obiekt wartości?
Obiekt wartości znany również jako obiekty transferu danych (DTO) to prosty abstrakcyjny wzorzec projektowy, który zajmuje się kontenerem danych do przechowywania danych w celu przesyłania danych między warstwami i warstwami. Chociaż najdokładniejszym terminem dla tego wzorca jest obiekt transferu danych, z powodu błędu w pierwszej wersji Core J2EE został wprowadzony jako obiekt wartości. Chociaż błąd ten został poprawiony w 2. edycji, nazwa ta stała się popularna i nadal jest często używana zamiast Data Transfer Object (należy jednak zauważyć, że poprawnym terminem jest Data Transfer Object). Wzorzec projektowy DTO jest używany z ziarnami encji, JDBC i JDO do rozwiązywania problemów występujących w odniesieniu do izolacji i transakcji w aplikacjach korporacyjnych. Należy zauważyć, że są to tylko proste posiadacze danych używane do przesyłania danych między klientem a bazą danych i nie zapewniają żadnego rodzaju trwałości. DTO służy do działania jako obiekty możliwe do serializacji w tradycyjnym EJB (jako ziarna encji przed 3.0 nie są serializowane). W oddzielnej fazie montażu zdefiniowanej przez DTO wszystkie dane używane przez widok są pozyskiwane i porządkowane przed zwolnieniem kontrolki do warstwy prezentacji.
Jaka jest różnica między JDO a obiektem wartości?
JDO to w rzeczywistości technologia trwałości używana do przechowywania obiektów Java w bazach danych, która zapewnia wygodę programistom, obsługując wszystkie szczegóły poziomu implementacji i pozwalając programistom skupić się na kodowaniu niespecyficznym dla bazy danych. Jednak obiekt wartości reprezentuje abstrakcyjny wzorzec projektowy (nie technologię), który zapewnia ogólny uchwyt danych znany jako obiekt transferu danych, który może przechowywać dane w celu przesyłania między klientem a bazami danych. JDO zapewnia możliwość utrwalania elementów danych, podczas gdy Value Object zajmuje się jedynie tymczasowym przechowywaniem danych w okresie przesyłania danych. Innymi słowy, obiekt wartości nie zapewnia trwałości.