Миграция EJB2.x объектов BMP - PullRequest
3 голосов
/ 31 декабря 2008

Мы используем бины сущностей EJB2.x с BMP (персистентность, управляемая бином). Похоже, что BMP не поддерживается в EJB3. Мы хотели оставаться в курсе и перейти на EJB3. Кто-нибудь знает, есть ли на самом деле какие-либо варианты BMP, доступные в 3.0?

Из того, что я могу сказать, при использовании 3.0 все бины сущностей должны использовать JPA и по определению ORM. Есть несколько вариантов использования нативного SQL, но это все еще просто способ использовать JPA для реализации ORM.

Я не был уверен, существует ли другой подход EJB3 для достижения той же функциональности, что и для объектов EJB2.x BMP. В настоящее время мы используем стандартный метод ejbStore для обновления БД через собственный SQL и метод ejbLoad для поиска всех bean-компонентов и обновления bean-компонента в случае отката транзакции. Я думал, что вы могли бы сделать это с помощью сессионных компонентов EJB3, но я не был уверен.

Возможно, вместо миграции на EJB3-бины нам следует перейти на Spring.

Ответы [ 2 ]

0 голосов
/ 02 сентября 2010

В прошлом я использовал смешанный Hibernate + EJB2 (CMP + BMP) для совместного использования транзакционных контекстов без проблем, используя JTA.

Эта проблема очень похожа ... Взгляните на https://cwiki.apache.org/GMOxDOC22/developing-bean-managed-persistence-with-jpa.html. Вы можете реализовать свой собственный EntityManager.

Если повезет, вы даже сможете поделиться транзакционным контекстом.

0 голосов
/ 02 сентября 2010

Если вы действительно хотите кодировать SQL вручную, перейдите к POJO и необработанным DAO JDBC. Но это также может быть возможность переосмыслить, как вы делаете вещи и принять ORM / JPA.

...