2016-07-25 103 views
0

我想在Hibernate Interceptor類上從Hibernate注入entityManager。我正在使用EJB和JBoss。事務是JTA,提供者是org.hibernate.ejb.HibernatePersistence。將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總是空。

這是行爲嗎?我如何從Interceptor類中訪問entityManager?

回答

0

我已經放棄了這個確切的解決方案。相反,我創建了另一個具有EJB註釋的類。攔截器將通過使用提供程序類來調用該EJB,該類在應用程序的上下文中查找EJB類。在那裏,entityManager正確關聯。