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

时间:2011-04-07 21:06:56

标签: jpa

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

<jta-data-source>gov/v3/jdbc/dataSource1</jta-data-source>
<jta-data-source>gov/v3/jdbc/dataSource2</jta-data-source>

请发送您的建议。

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

2 个答案:

答案 0 :(得分:8)

您可以这样在 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>

使用应用程序中的这些数据源,如下所示:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistence-unit-1");
EntityManager em = emf.createEntityManager();

答案 1 :(得分:1)

基于什么“条件”?

EclipseLink确实支持数据分区,不确定这是否是您正在寻找的。

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Data_Partitioning