2016-07-25 8 views
0

Я хочу ввести entityManager из Hibernate в Hibernate Interceptor Class. Я использую EJB и JBoss. Сделкой является JTA, а провайдером является org.hibernate.ejb.HibernatePersistence.Inject entityManager в пользовательский класс перехватчика Hibernate

Я пытался сделать это так:

@Stateless(name = "HistoricInterceptor") 
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 
public class HistoricInterceptorImpl extends EmptyInterceptor implements HistoricInterceptor { 

@PersistenceContext(name = "windi") 
private EntityManager em; 

// overriden methods, etc 

} 

Но ссылка на EntityManager всегда нуль.

Ожидается ли такое поведение? Как я могу получить доступ к entityManager из класса Interceptor?

ответ

0

Я отказался от этого точного решения. Вместо этого я создал еще один класс с аннотациями EJB. Перехватчик вызовет этот EJB, используя класс провайдера, который ищет классы EJB в контексте приложения. Там entityManager правильно связан.

 Смежные вопросы

  • Нет связанных вопросов^_^