Рекомендация: Проектирование сущностных объектов EJB
В этом разделе обсуждается проектирование сущностных объектов EJB для приложения J2EE.
Взаимосвязи
Связанные элементы
Основное описание

Введение

Этот раздел посвящен проектированию сущностных объектов EJB. Дополнительная информация о сущностных объектах EJB, в частности, указания по их идентификации и моделированию, приведена в разделе Указания для рабочего продукта: сущностные объекты EJB. Общая информация об объектах EJB приведена в разделе Указания для рабочего продукта: объекты EJB.

Постоянные атрибуты и основной ключ

Идентифицируйте постоянные атрибуты и основной ключ сущностного объекта EJB.

Сравнение постоянного хранения, управляемого EJB (BMP), и постоянного хранения, управляемого контейнером (CMP)

Эти два подхода к постоянному хранению рассмотрены в разделе Концепция: обзор платформы J2EE.

Как правило, код для постоянного хранения, управляемого контейнером, меньше и проще, чем для постоянного хранения, управляемого EJB. Однако в случае недостаточной производительности или необходимости в большем контроле над отображением логики в базу данных может понадобиться постоянное хранение, управляемое EJB.

Если в контейнере EJB отсутствует требуемый уровень поддержки, рекомендуется применить инструмент отображения другой фирмы, специально предназначенный для работы с объектами, к постоянному хранению, управляемому EJB, либо, если этот инструмент встроен в контейнер, к постоянному хранению, управляемому контейнером.

Если вы решили воспользоваться постоянным хранением, управляемым контейнером, и существует модель данных, то вы можете отобразить сущностные объекты EJB CMP в таблицы баз данных, содержащиеся в модели данных. В конечном итоге, это отображение будет отражено в файле описания модулей EJB. Дополнительная информация приведена в разделе Технология: сборка модулей J2EE.

Если вы решили воспользоваться постоянным хранением, управляемым EJB, инкапсулируйте весь доступ к базам данных в классе Data Access Object (DAO). Это обычный класс Java, скрывающий и инкапсулирующий базовый механизм хранения и изолирующий изменения при модификации интерфейса источника данных. Даже если предполагается, что источником данных всегда будет RDBMS, могут быть тонкие отличия в синтаксисе SQL и формате, из-за которых изолирование в классе DAO окажется оправданным. См. параграф Базовые шаблоны J2EE - шаблон объектов доступа к данным ([ALU01].