java – 动态更改持久性单元 – JPA

前端之家收集整理的这篇文章主要介绍了java – 动态更改持久性单元 – JPA前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
persistence.xml中的持久性单位是在构建应用程序期间创建的.由于我想在运行时更改数据库url,有没有办法在运行时修改持久化单元?我应该使用不同的数据库,而不是预先绑定的数据库.

我使用EclipseLink(JPA 2.1)

解决方法

保持持久化单元文件(Persistence.xml).您可以如下覆盖其中的属性.
EntityManagerFactory managerFactory = null;
Map<String,String> persistenceMap = new HashMap<String,String>();

persistenceMap.put("javax.persistence.jdbc.url","<url>");
persistenceMap.put("javax.persistence.jdbc.user","<username>");
persistenceMap.put("javax.persistence.jdbc.password","<password>");
persistenceMap.put("javax.persistence.jdbc.driver","<driver>");

managerFactory = Persistence.createEntityManagerFactory("<current persistence unit>",persistenceMap);
manager = managerFactory.createEntityManager();

猜你在找的Java相关文章