Różnica między JDO a obiektem wartości

JDO a obiekt wartości

JDO jest technologią trwałości Java, która może być używana do przechowywania POJO (Plain Old Java Objects) w bazach danych bez potrzeby zrozumienia podstawowych implementacji różnych magazynów danych. Obiekt wartości (znany również jako obiekt do przesyłania 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) zapewnia mechanizm zapewniający trwałość obiektom Java i dostępowi do bazy danych. JDO jest bardzo przejrzysty, ponieważ umożliwia programistom aplikacji Java dostęp do podstawowych danych bez konieczności pisania kodu specyficznego dla baz danych. Z JDO można korzystać na kilku poziomach, w tym Java Standard Edition, Web-tier i serwerach aplikacji. JDO API jest alternatywą dla innych trwałości (utrzymywanie obiektów po aborcji programu) obiektów Java, takich jak Serialization, JDBC (Java DataBase Connectivity) i EJB CMP (Enterprise JavaBeans architecture Container Managed Persistence). JDO korzysta z XML i rozszerzenia kodu bajtowego. Główną zaletą korzystania z JDO API jest to, że mogą one przechowywać dane bez potrzeby uczenia się nowego języka zapytań, takiego jak SQL (który zależy od rodzaju przechowywania danych). JDO jest bardzo łatwy w użyciu, ponieważ programiści mogą skupić się tylko na swoim modelu obiektowym domeny. JDO samo nie tylko optymalizuje kod zgodnie z dostępem do danych. Ponieważ interfejs API JDO nie jest ściśle związany z typem magazynu danych, programiści aplikacji Java mogą używać tego samego interfejsu do przechowywania obiektów Java w dowolnym magazynie danych, w tym relacyjnej bazie danych, obiektowej bazie danych lub pliku XML. JDO jest wysoce przenośny, ponieważ modyfikacja lub rekompilacja nie jest wymagana do uruchomienia na różnych implementacjach dostawców.

Co to jest obiekt wartości?

Obiekt wartości znany również jako Obiekty przesyłania 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ł on wprowadzony jako Obiekt Wartości. Chociaż ten błąd został poprawiony w drugim wydaniu, nazwa ta stała się popularna i nadal jest często używana zamiast obiektu Data Transfer (ale należy zauważyć, że poprawnym terminem jest Data Transfer Object). Wzorzec projektowy DTO jest używany z komponentami bean, JDBC i JDO w celu rozwiązania problemów związanych z izolacją i transakcjami w aplikacjach korporacyjnych. Należy zauważyć, że są to tylko zwykli posiadacze danych służący 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 szeregowalne w tradycyjnym EJB (ponieważ komponenty bean w wersjach wcześniejszych niż 3.0 nie są serializowane). W oddzielnej fazie montażu zdefiniowanej przez DTO wszystkie dane używane przez widok są gromadzone i zestawiane przed udostępnieniem kontroli w warstwie prezentacji.

Jaka jest różnica między JDO a Value Object?

JDO jest w rzeczywistości technologią trwałości służącą do przechowywania obiektów Java w bazach danych, która zapewnia programistom wygodę, obsługując wszystkie szczegóły poziomu implementacji i umożliwiając programistom skupienie się na kodowaniu niespecyficznym dla bazy danych. Ale 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, a Value Object zajmuje się jedynie tymczasowym przechowywaniem danych w okresie przesyłania danych. Innymi słowy, obiekt wartości nie zapewnia trwałości.