B. S. Rawat
B. S. Rawat

Reputation: 1914

How to use more than one data sources in JPA

I want to use two data sources at same time and use them based on the condition. Can I add multiple data sources in persistence.xml like:

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

Please send your suggestion.

Note: Application server is weblogic 10.3

Upvotes: 3

Views: 8179

Answers (2)

James
James

Reputation: 18379

Based on what "condition"?

EclipseLink does support data partitioning, not sure if this is what you are looking for.

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

Upvotes: 1

Matt Handy
Matt Handy

Reputation: 30025

You can configure multiple datasources in your persistence.xml this way:

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

Use these datasources from your application as follows:

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

Upvotes: 9

Related Questions