JPA Multiple EntityManagerFactory

时间:2014-02-04 12:06:25

标签: java spring hibernate jpa

我一直在研究的当前项目包含许多我无法访问的单独模块。 任务是在我的模块中使用JPA,并设置为它自己的EnitityManagerFactory。在applicationContext.xml中定义第二个EnitityManagerFactory bean的问题导致模块中的错误,我无法访问(管理模块)。

错误的性质 - Spring无法理解在admin模块中使用哪个bean而我无法解决:

@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>

0 个答案:

没有答案