2012-03-08 147 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