WAS 8.5.5 CMP/BMP и постоянный источник данных
Я разрабатываю приложение Java EE, используя сервлет, JSP, JPA, EJB. Поскольку я уже настроил источник данных (Oracle 11g) в консоли Websphere, я хотел знать, нужно ли мне использовать в своем коде компонент Entity bean CMP или простой компонент сеанса без сохранения состояния с persistence.xml (используя JNDI источника данных, настроенного в БЫЛО).
заранее спасибо
1 ответ
Вам не нужно использовать бины CMP Entity. JPA является заменой для EJB-компонентов Entity и должна быть предпочтительной технологией (с использованием JNDI источника данных, настроенного в WAS). Объектные компоненты CMP/BMP теперь являются необязательной частью Java EE и не поддерживаются в WebSphere Liberty (хотя они продолжают поддерживаться в традиционном WebSphere, даже в v9.0).
Кроме того, вы не обязаны даже использовать компонент Session без сохранения состояния с JPA (persistence.xml); Вы можете использовать JPA непосредственно из своего сервлета, хотя сеанс без сохранения состояния может быть хорошим способом инкапсулировать доступ к базе данных и обеспечить поддержку транзакций.
Обратите внимание, что следует избегать одновременного использования как объектов-сущностей CMP, так и JPA (persistence.xml). В результате вы получите две разные технологии, которые будут пытаться получить доступ (и заблокировать) строки базы данных и захотят столкнуться с тупиками и / или повреждением.