JPA一个使用多个数据库的Web应用程序

时间:2017-12-10 21:51:17

标签: jpa

我必须使用Java EE(Servelt / JPA)开发一个Web应用程序,它将由几个客户使用,每个客户都拥有自己的数据库。当然,所有数据库都具有相同的结构。 所以我的问题是: JPA应用程序是否可以访问多个数据库?

1 个答案:

答案 0 :(得分:0)

答案是肯定的。您需要在persistence.xml中使用多个持久性单元。

<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">

<persistence-unit name="one" transaction-type="JTA">
    ...
</persistence-unit>

<persistence-unit name="two" transaction-type="JTA">
    ...
</persistence-unit> 

您还需要告诉EJB使用特定的持久性单元

@PersistenceContext(unitName="...")