Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2 Книга 3" -> 231

Технологии профаммирования на Java 2 Книга 3 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 Книга 3 — М.: Бином-Пресс, 2003. — 672 c.
ISBN 5-9518-0051-Х
Скачать (прямая ссылка): tehprogrammjava220033.pdf
Предыдущая << 1 .. 225 226 227 228 229 230 < 231 > 232 233 234 235 236 237 .. 271 >> Следующая

56 } 11 конец блока try 57
58 // обработка исключения при поиске EJB-компонента Product
59 catch ( Exception exception ) {
60 throw new EJBException( exception );
61 } 62
63 Il запись идентификатора заказа и количества товаров в объект
OrderProductModel
64 model.setOrderID( orderID );
65 model.setQuantity( quantity ); 66
67 return model; 68
69 } 11 конец метода getOrderProductModel 70
71 Il задание сведений о заказе с использованием объекта
OrderProductModel
72 private void setOrderProductModel( OrderProductModel model )
73 {
74 ISBN = model.getProductModel().getISBN();
75 orderID = model.getOrderID();
76 quantity = model.gefcQuantity();
77 } 78
7 9 If создание объекта OrderProduct для данного объекта OrderProductModel
80 public OrderProductPK ejbCreate( OrderProductModel model )
81 {
82 setOrderProductModel{ model );
83 return null;
84 }
566
Глава 11
85
86
87
88

90
91
92
93
94
95
96
97
98
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 }
/I выполнение необходимых после создания объекта действий public void ejbPostCreate( OrderProductModel model ) {}
Il задание контекста EntityContext
public void setEntityContext( EntityContext context )
{
entityContext = context;
}
11 сброс контекста EntityContext public void unsetEntityContext() {
}
entityContext = null;
11 активация экземпляра EJB-компонента OrderProduct public void ejbActivate() {
OrderProductPK primaryKey =
( OrderProductPK ) entityContext.getPrimaryKey();
}
XSBN = primaryKey.getISBN(); orderID = primaryKey.getOrderID<);
Il пассивация экземпляра EJB-компонента OrderProduct public void ejbPassivate()
{
ISBN = null; orderID = null;
}
11 удаление экземпляра EJB-компонента OrderProduct public void ejbRemoveO {}
Il сохранение данных EJB-компонента OrderProduct в базе данных public void ejbStore() {}
11 загрузка данных EJB-компонента OrderProduct из базы данных public void ejbLoad() {}
Рис. 11.22. Реализация OrderProductEJB удаленного интерфейса OrderProduct
Контейнер EJB вызывает метод ejbCreate (строки 80-84) для создания новых экземпляров EJB-компонента OrderProduct. Атрибуты ISBN, orderID и quantity для записи таблицы OrderProduct предоставляются в параметре OrderProductModel. В строке 82 вызывается метод setOrderProductModel для завершения создания записи OrderProduct.
11.6.3. Собственный интерфейс OrderProductHome
Интерфейс OrderProductHome (рис. 11.23) предоставляет методы для создания новых экземпляров EJB-компонента OrderProduct и нахождения имеющихся записей в таблице OrderProduct. Метод create (строки 19-20) соответствует методу
Практический пример корпоративного приложения. Бизнес-логика: часть 1
567
ejbCreate реализации OrderProductEJB интерфейса OrderProduct (рис. 11.22). Метод findByOrderID (строки 23-24) обнаруживает все записи таблицы Order-Product с заданным идентификатором orderID и возвращает коллекцию удаленных ссылок на объекты OrderProduct. Метод findByPrimaryKey (строки 27-28) находит запись OrderProduct с использованием класса первичного ключа Order-Product P К.
Ill OrderProductHome.java
2// OrderProductHome - собственный интерфейс для EJB-
3 11 сущности OrderProduct.
4 package com.deitel.advjhtpl.bookstore.ejb; 5
6// Набор базовых пакетов Java
7 import java.util.Collection;
8 import java.rmi.RemoteException; 9
10 II Пакеты расширений Java
11 import javax.ejb.*; 12
13 Il Пакеты Deitel
14 import com.deitel.advjhtpl.bookstore.model. *; 15
16 public interface OrderProductHome extends EJBHome { 17
18 I/ создание объекта OrderProduct с использованием заданного
объекта OrderProductModel
19 public OrderProduct create ( OrderProductModel model )
20 throws RemoteException, CreateException; 21
22 I/ нахождение объекта OrderProduct с заданным идентификатором
orderID
23 public Collection findByOrderID( Integer orderID )
24 throws RemoteException, FinderException; 25
26 11 нахождение объекта OrderProduct для заданного первичного ключа
27 public OrderProduct findByPrimaryKey( OrderProductPK key )
28 throws RemoteException, FinderException;
29 )______
Рис. 11.23. Интерфейс OrderProductHome для нахождения и создания экземпляров EJB-компонента OrderProduct
11.6.4. Класс первичного ключа OrderProductPK
Класс OrderProductPK (рис. 11.24) является классом первичного ключа для EJB-компонента OrderProduct. Поля (атрибуты) orderID и ISBN необходимы для уникальной идентификации определенного экземпляра EJB-компонента OrderProduct. Для компонента-сущности EJB1 который имеет составной первичный ключ (т.е. первичный ключ, состоящий из нескольких полей), требуется нестандартный класс первичного ключа, определяемый разработчиком. Нестандартный класс первичного ключа должен содержать открытые (public) элементы данных для каждого поля в составном первичном ключе. Класс первичного ключа OrderProductPK имеет два открытых элемента данных (строки 12—13): ISBN и orderID, которые соответствуют двум полям первичного ключа EJB-компонента . OrderProductEJB (рис. 11.22). Нестандартный класс первичного ключа также дол -
Предыдущая << 1 .. 225 226 227 228 229 230 < 231 > 232 233 234 235 236 237 .. 271 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100