Разница между JDO и объектом значения

Разница между JDO и объектом значения
Разница между JDO и объектом значения

Видео: Разница между JDO и объектом значения

Видео: Разница между JDO и объектом значения
Видео: Value Objects 2024, Июль
Anonim

JDO против объекта-значения

JDO - это технология персистентности Java, которую можно использовать для хранения POJO (обычных старых объектов Java) в базах данных без необходимости разбираться в базовых реализациях различных хранилищ данных. Value Object (также известный как Data Transfer Object) - это абстрактный шаблон проектирования, который вводит концепцию простого держателя данных с целью передачи данных между несколькими уровнями и уровнями.

Что такое JDO?

JDO (Java Data Objects) предоставляет механизм для обеспечения постоянства объектов Java и доступа к базе данных. JDO очень прозрачен, поскольку позволяет разработчикам Java-приложений получать доступ к базовым данным без необходимости написания кода, специфичного для баз данных. JDO можно использовать на нескольких уровнях, включая Java Standard Edition, веб-уровень и серверы приложений. JDO API является альтернативой другому сохранению (сохранению объектов после прерывания программы) объектов Java, таких как сериализация, JDBC (подключение к базе данных Java) и EJB CMP (управляемое сохранение контейнера архитектуры Enterprise JavaBeans). JDO использует XML и усовершенствование байт-кода. Основное преимущество использования JDO API заключается в том, что они могут хранить данные без необходимости изучения нового языка запросов, такого как SQL (который зависит от типа хранилища данных). JDO очень прост в использовании, поскольку разработчики могут сосредоточиться только на объектной модели своей предметной области. Мало того, JDO сама оптимизирует код в соответствии с доступом к данным. Поскольку API JDO не ограничивает тип хранилища данных, разработчики Java-приложений могут использовать тот же интерфейс для хранения объектов Java в любом хранилище данных, включая реляционную базу данных, базу данных объектов или XML. JDO обладает высокой переносимостью, так как не требует модификации или перекомпиляции для работы в реализациях других поставщиков.

Что такое объект-значение?

Объект Value, также известный как объекты передачи данных (DTO), представляет собой простой абстрактный шаблон проектирования, который имеет дело с контейнером данных для хранения данных с целью передачи данных между уровнями и уровнями. Хотя наиболее точным термином для этого шаблона является объект передачи данных, из-за ошибки в первой версии Core J2EE он был представлен как объект значения. Хотя эта ошибка была исправлена во 2-м издании, это имя стало популярным и до сих пор широко используется вместо объекта передачи данных (но следует отметить, что правильный термин - объект передачи данных). Шаблон проектирования DTO используется с объектными компонентами, JDBC и JDO для устранения проблем, возникающих в отношении изоляции и транзакций в корпоративных приложениях. Важно отметить, что это всего лишь простые держатели данных, используемые для передачи данных между клиентом и базой данных, и они не обеспечивают постоянства любого рода. DTO служит для работы в качестве сериализуемых объектов в традиционном EJB (как объектные компоненты до версии 3.0 не сериализуемы). На отдельной фазе сборки, определяемой DTO, все данные, используемые представлением, собираются и упорядочиваются перед выпуском элемента управления на уровень представления.

В чем разница между JDO и объектом-значением?

JDO на самом деле является технологией персистентности, используемой для хранения объектов Java в базах данных, которая обеспечивает удобство для разработчиков, обрабатывая все детали уровня реализации и позволяя разработчикам сосредоточиться на кодировании, не связанном с базой данных. Но объект-значение представляет собой абстрактный шаблон проектирования (а не технологию), который предоставляет общий держатель данных, известный как объект передачи данных, который может хранить данные для передачи между клиентом и базами данных. JDO обеспечивает возможность сохранения элементов данных, в то время как Value Object имеет дело только с временным хранением данных в течение периода передачи данных. Другими словами, Value Object не обеспечивает постоянства.

Рекомендуемые: