2016-07-25 3 views
0

HibernateからエンティティマネージャをHibernateインターセプタクラスに挿入します。私は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のへの参照は常にnullです。

この現象は予期されていますか?インターセプタクラスからentityManagerにアクセスするにはどうすればよいですか?

答えて

0

私はその正確な解決策をあきらめていました。代わりに、EJBアノテーションを持つ別のクラスを作成しました。インターセプタは、アプリケーションのコンテキストでEJBクラスをルックアップするプロバイダクラスを使用して、そのEJBを呼び出します。ここで、entityManagerは正しく関連付けられています。

関連する問題