2013-06-03 3 views
0

У меня есть объектив без объектива (EJB 3.x) и EJB Beans (EJB 2.x) и другие классы в моем проекте. Я хочу добавить Entity Bean в EJB Beans. Таким образом, далеко я могу внедрить его с использованием JNDI way i.e (BeanName # completetyame), но я хочу использовать его с помощью @EJB так же, как мы добавляем сущности beans в другие сущности, без какого-либо поиска JNDI. Оба эти компонента являются частью различных модулей, но развернуты на одном сервере. Я использую weblogic с eclipselink.Инъекция сущности Entity Bean в EJB Bean с использованием @EJB

ответ

0

Вы используете EJB 3 или EJB 2? EclipseLink не поддерживает EJB 2 EntityBean, только EJB 3 Entities.

Вы не можете вставлять объект Entity, это не имеет смысла, они должны быть запрошены из базы данных через EntityManager. Вы можете ввести EntityManager, используя @PersistenceContext.

See,

http://en.wikibooks.org/wiki/Java_Persistence/Runtime#Java_Enterprise_Edition

+0

Мой проект включает как EJB 3 и EJB 2. В простой, я пытаюсь привнести EJB 3 ссылка в EJB 2. Eclipse Link используется только для EJB 3. –

1

Entity бобы никогда не впрыскивает в EJB фасолью. Вы можете выполнить операцию БД на объектных компонентах с помощью EntityManager. Для работы с объектами базы данных должны быть связаны с контекстом постоянства EntityManager. поэтому вы не можете работать со своими сущностями, пока он не находится в состоянии сохранения.

Все транзакции Scoped контекст сохранения настроены путем введения @PersistentContext к объектам EntityManager, как это,

@PersistenceContext(name="PersistentUnitName") 
private EntityManager entityManager; 
Смежные вопросы