我正在开发一个使用JPA的程序,我将它部署在一个jar中。我希望修改(或向用户询问,在menú项目中)与数据库服务器的连接数据的配置。
可以“动态”修改服务器的数据(用户,密码,IP)吗?
(我为我的坏英语道歉)
答案 0 :(得分:3)
如何制作包含您的选项的HashMap<String,Object>
并将其传递给Persistence.createEntityManagerFactory("unitName",map)
?
来自文档:
public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName,Map properties)
使用给定的属性为指定的持久性单元创建并返回一个EntityManagerFactory。
答案 1 :(得分:2)
JPA规范不允许动态修改持久性单元。一些实现可以提供动态定义持久性单元的特定于实现的方式。使用DataNucleus JPA,我们按照this page
的脚进行操作