2012-03-08 96 views
2

我正在开发一个使用JPA的程序,我将它部署在一个jar中。我希望修改(或向用户提供一个菜单项)与数据库服务器的连接数据的配置。在运行时修改persistence.xml

它可以修改服务器的数据(用户,密码,IP)“即时”?

(我很抱歉,我的英语不好)

回答

2

JPA规范不允许的持久性单位动态修改。一些实现可能会提供一种实现特定的动态定义持久性单元的方式。使用DataNucleus JPA,我们按照this page的脚来执行

3

如何使HashMap<String,Object>包含您的选项并将它传递给Persistence.createEntityManagerFactory("unitName",map)

从文档:

公共静态的EntityManagerFactory的createEntityManagerFactory(字符串persistenceUnitName来,地图属性)

创建和使用给定的属性返回EntityManagerFactory的已命名的持久单元。

Source

+0

得好好的,这样做太,使用Hibernate实现。 – Wrench 2014-10-06 07:14:12