Введение
Этот раздел посвящен проектированию сущностных объектов 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].
|