В этом простом примере мы будем использовать два EJB-объекта. Первый, называемый "CD" моделирует музыкальный компакт-диск. Он содержит атрибуты (переменные экземпляра), которые хранят название (title), идентификатор (ID), код(code) и другие свойства музыкального CD. Следующий объект называется "CDCollection" и моделирует набор таких компакт-дисков. Этот объект выступает в роли простого интерфейса между клиентом и объектом "CD"; технически, мы могли бы управлять ею и без такого объекта, но это усложняет повторение некоторых операций. Объект "CDCollection" будет иметь следующие методы deleteAll(), addCd(), findInAnyField() и findAll().
Все эти методы могут быть определены с помощью прямых манипуляций с home-интерфейсом объекта "CD", но гораздо элегантнее решить эту задачу таким путём.
Из-за того, что объект CDCollection взаимодействует в течении запроса от клиента только с объектами CD, то получается, что у него нет постоянной информации. Так что он является session-объектом. Более того, так как его методы полностью самодостаточны - это stateless session bean.
Однако, объект CD будет entity EJB из-за того, что некоторая информация
в нем постоянна.because some of its information is persistent.
Для примера, ID, артист (artist), название (title), тип (type) и заметки
о записи (notes) должны сохраняться. Конечно, объект CD может иметь другие
переменные внутри себя, но они не обязательно будут сохраняемыми. Для примера,
некоторые переменные будут хранить временную информацию, а другие будут
получаться их сохраняемых атрибутов.
В этом примере, я предполагаю, что все сохраняемые поля будут примитивными типами Java (Java Primitive type) представляющими ID, title, artist, type и notes.
Наши друзья |