【发布时间】:2012-06-29 15:27:33
【问题描述】:
我有一个没有 Spring 的 JPA Hibernate 应用程序,我需要连接到多个数据库(具有相同的结构)。
将为每个客户端创建数据库,并且必须使用相同的实体管理器。请我需要一些关于如何做到这一点的想法。我没有使用弹簧。我的应用程序使用 MySql、JPA2、Hibernate 和 JSF。
谢谢!
【问题讨论】:
我有一个没有 Spring 的 JPA Hibernate 应用程序,我需要连接到多个数据库(具有相同的结构)。
将为每个客户端创建数据库,并且必须使用相同的实体管理器。请我需要一些关于如何做到这一点的想法。我没有使用弹簧。我的应用程序使用 MySql、JPA2、Hibernate 和 JSF。
谢谢!
【问题讨论】:
如果一切都相同,除了 dbname/username/pass,然后创建一个带有持久性单元的 persistence.xml,将所有静态的东西放在那里。
然后使用以下方法创建实体管理器:
javax.persistence.Persistence.createEntityManagerFactory(String persistenceUnitName, Map properties);
在map中提供可变参数,像这样:
properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1/test");
properties.put("hibernate.connection.username", "joe");
properties.put("hibernate.connection.password", "pass");
【讨论】: