Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringBeanAuthoringInterceptor创建上下文中容器的EntityManager_Spring_Hibernate_Jpa_Ejb_Entitymanager - Fatal编程技术网

SpringBeanAuthoringInterceptor创建上下文中容器的EntityManager

SpringBeanAuthoringInterceptor创建上下文中容器的EntityManager,spring,hibernate,jpa,ejb,entitymanager,Spring,Hibernate,Jpa,Ejb,Entitymanager,我有一个EJB,注释如下: @Stateless @Interceptors(SpringBeanAutowiringInterceptor.class) SpringBeanAutowiringInterceptor创建一个ClassPathXmlApplicationContext,然后创建一些@组件。其中一个@组件是DAO,因此喜欢注入EntityManager。最好是EJB的容器管理EntityManager(根据我目前的见解) 如果我向EJB中添加以下内容,则效果很好: @Persi

我有一个EJB,注释如下:

@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
SpringBeanAutowiringInterceptor
创建一个
ClassPathXmlApplicationContext
,然后创建一些
@组件。其中一个
@组件是DAO,因此喜欢注入
EntityManager
。最好是EJB的容器管理
EntityManager
(根据我目前的见解)

如果我向EJB中添加以下内容,则效果很好:

@PersistenceContext
EntityManager entityManager;
但是,如果我在我的DAO上执行后者(它在Spring中,这是它自己的上下文),则不起作用。无论我是否专门调用单元名(
unitName=“test”
,“
没有定义名为“test”的bean,而“
没有[javax.persistence.EntityManagerFactory]类型的唯一bean”
”)

我在Spring中尝试了
jee:jndi查找
,但是我不知道如何在jndi中使用实体管理器来工作。这应该在我的
persistence.xml
中或者甚至在另一个级别上完成吗

我在JBOSS中运行所有这些作为Arquillian测试,但我的目标环境是。因此,我也应该避开特定于容器的解决方案。这不是一个WAR项目,而是将EJB JAR封装在EAR中


我想我在这里寻找一般概念或最佳实践,以推动我前进。(因此我限制了问题中包含的代码数量,不过如果有帮助的话,我很乐意分享一些细节。)谢谢

将以下内容添加到Spring配置中

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

看看这个: