我有一个没有Spring的JPA Hibernate应用程序,我需要连接到多个数据库(具有相同的结构)。
将为每个客户端创建数据库,并且必须使用相同的实体管理器。我需要知道如何做到这一点。我没有使用Spring。我的应用程序使用MySql,JPA2,Hibernate和JSF。
谢谢!
答案 0 :(得分:1)
如果一切都相同,除了dbname / username / pass,那么创建一个带有persistance单元的persistence.xml,把所有内容放在那里是静态的。
然后使用以下方法创建实体管理器:
javax.persistence.Persistence.createEntityManagerFactory(String persistenceUnitName, Map properties);
在地图中提供变量参数,如下所示:
properties.put("hibernate.connection.url", "jdbc:postgresql://127.0.0.1/test");
properties.put("hibernate.connection.username", "joe");
properties.put("hibernate.connection.password", "pass");