是否可以有两个持久性单元,一个使用 Hibernate 处理某些实体,另一个使用 EclipseLink 处理 Spring 框架中的其他实体?
问问题
353 次
1 回答
0
以下应该有效:
<bean id="schema1EM" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
...
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
...
</bean>
</property>
<property name="packagesToScan" value="org.example.domain.schema1"/>
</bean>
<bean id="schema2EM" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
...
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
...
</bean>
</property>
<property name="packagesToScan" value="org.example.domain.schema2"/>
</bean>
<jpa:repositories base-package="org.example.data.schema1" entity-manager-factory-ref="schema1EM"/>
<jpa:repositories base-package="org.example.data.schema2" entity-manager-factory-ref="schema2EM"/>
schema1EM
将分配给包下声明的所有存储库org.example.data.schema1
,schema2EM
并将分配给org.example.data.schema2
. 您必须按包隔离域类和存储库接口,以便 Spring 自动装配能够工作。
于 2015-03-05T11:28:31.437 回答