如何在JPA中使用多个数据源

如何在JPA中使用多个数据源,jpa,Jpa,我想同时使用两个数据源,并根据条件使用它们。 我是否可以在persistence.xml中添加多个数据源,如: gov/v3/jdbc/dataSource1 gov/v3/jdbc/dataSource2 请把你的建议寄来 注意:应用程序服务器是weblogic 10.3您可以通过以下方式在persistence.xml中配置多个数据源: <persistence ...> <persistence-unit name="persistence-unit-1">

我想同时使用两个数据源,并根据条件使用它们。 我是否可以在persistence.xml中添加多个数据源,如:

gov/v3/jdbc/dataSource1
gov/v3/jdbc/dataSource2
请把你的建议寄来


注意:应用程序服务器是weblogic 10.3

您可以通过以下方式在persistence.xml中配置多个数据源:

<persistence ...>
  <persistence-unit name="persistence-unit-1">
    <jta-data-source>jdbc/persistence-unit-1</jta-data-source>
    ...
  </persistence-unit>
  <persistence-unit name="persistence-unit-2">
     <jta-data-source>jdbc/persistence-unit-2</jta-data-source>
     ...
  </persistence-unit>
</persistence>
基于什么“条件”

EclipseLink确实支持数据分区,但不确定这是否是您想要的

<persistence ...>
  <persistence-unit name="persistence-unit-1">
    <jta-data-source>jdbc/persistence-unit-1</jta-data-source>
    ...
  </persistence-unit>
  <persistence-unit name="persistence-unit-2">
     <jta-data-source>jdbc/persistence-unit-2</jta-data-source>
     ...
  </persistence-unit>
</persistence>
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistence-unit-1");
EntityManager em = emf.createEntityManager();