加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:03:01 所属栏目:Java 来源:网络整理
导读:persistence.xml中的持久性单位是在构建应用程序期间创建的.由于我想在运行时更改数据库url,有没有办法在运行时修改持久化单元?我应该使用不同的数据库,而不是预先绑定的数据库. 我使用EclipseLink(JPA 2.1) 解决方法 保持持久化单元文件(Persistence.xml).
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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读