Spring-两个具有不同JPA提供程序的持久化单元

Spring-两个具有不同JPA提供程序的持久化单元,spring,hibernate,eclipselink,spring-data-jpa,persistence-unit,Spring,Hibernate,Eclipselink,Spring Data Jpa,Persistence Unit,是否可以有两个持久化单元,一个使用Hibernate来处理某些实体,另一个使用EclipseLink来处理Spring框架中的其他实体?以下应该可以: <bean id="schema1EM" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> ... <property name="jpaVendorAdapter"> <bean class="or

是否可以有两个持久化单元,一个使用Hibernate来处理某些实体,另一个使用EclipseLink来处理Spring框架中的其他实体?

以下应该可以:

<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自动连接可以工作。

谢谢您的回答,您有任何关于这种情况的示例或配置代码片段吗?