Java JPA多实体管理工厂
我一直在从事的当前项目包含许多我无法访问的独立模块。 任务是在我的模块中使用JPA,并将其设置为自己的EntityManagerFactory。在applicationContext.xml中定义第二个EntityManagerFactory bean会在模块中导致错误,我无法访问该模块(管理模块) 错误的性质-Spring无法理解在管理模块中使用哪个bean,我无法通过以下方式解决:Java JPA多实体管理工厂,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我一直在从事的当前项目包含许多我无法访问的独立模块。 任务是在我的模块中使用JPA,并将其设置为自己的EntityManagerFactory。在applicationContext.xml中定义第二个EntityManagerFactory bean会在模块中导致错误,我无法访问该模块(管理模块) 错误的性质-Spring无法理解在管理模块中使用哪个bean,我无法通过以下方式解决: @PersistenceContext( name = "adminDataSource" ) private
@PersistenceContext( name = "adminDataSource" )
private EntityManager entityManager;
没有访问它的源代码
有什么建议吗
编辑:
同时,这里是显示问题的应用程序上下文文件的一部分。
所以,若在下面取消注释bean,Spring将在我无权访问的其他模块中抛出异常
<!--bean
class = "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
id = "slotsEntityManagerFactory" >
<property
name="persistenceUnitName"
value="spinPersistence"/>
<property
name="dataSource" ref="slotsDataSource"/>
<property
name="packagesToScan"
value="com.win.server.protocol.http.spin" />
</bean -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property
name="persistenceUnitName"
value=""/>
<property
name="packagesToScan"
value="com.win.slots" />
<property name="dataSource" ref="adminDataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="POSTGRESQL"/> <!-- HSQL -->
<property name="showSql" value="false"/>
<property name="generateDdl" value="false"/>
</bean>
</property>
</bean>
您是否尝试过从spring应用程序上下文@Autowired entitymanager?基本上,应用程序上下文必须连接到实体工厂,这就是问题所在。所以,当我将第二个EntityManagerFactorybean添加到应用程序上下文中时,spring在我无权访问的模块中给了我错误,因为它无法选择使用哪个bean。