在运行时修改persistence.xml

时间:2012-03-08 07:48:01

标签: java jpa persistence.xml

我正在开发一个使用JPA的程序,我将它部署在一个jar中。我希望修改(或向用户询问,在menú项目中)与数据库服务器的连接数据的配置。

可以“动态”修改服务器的数据(用户,密码,IP)吗?

(我为我的坏英语道歉)

2 个答案:

答案 0 :(得分:3)

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

来自文档:

  

public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName,Map properties)

     

使用给定的属性为指定的持久性单元创建并返回一个EntityManagerFactory。

Source

答案 1 :(得分:2)

JPA规范不允许动态修改持久性单元。一些实现可以提供动态定义持久性单元的特定于实现的方式。使用DataNucleus JPA,我们按照this page

的脚进行操作