我正在開發一個使用JPA的程序,我將它部署在一個jar中。我希望修改(或向用戶提供一個菜單項)與數據庫服務器的連接數據的配置。在運行時修改persistence.xml
它可以修改服務器的數據(用戶,密碼,IP)「即時」?
(我很抱歉,我的英語不好)
我正在開發一個使用JPA的程序,我將它部署在一個jar中。我希望修改(或向用戶提供一個菜單項)與數據庫服務器的連接數據的配置。在運行時修改persistence.xml
它可以修改服務器的數據(用戶,密碼,IP)「即時」?
(我很抱歉,我的英語不好)
JPA規範不允許的持久性單位動態修改。一些實現可能會提供一種實現特定的動態定義持久性單元的方式。使用DataNucleus JPA,我們按照this page的腳來執行
如何使HashMap<String,Object>
包含您的選項並將它傳遞給Persistence.createEntityManagerFactory("unitName",map)
?
從文檔:
公共靜態的EntityManagerFactory的createEntityManagerFactory(字符串persistenceUnitName來,地圖屬性)
創建和使用給定的屬性返回EntityManagerFactory的已命名的持久單元。
得好好的,這樣做太,使用Hibernate實現。 – Wrench 2014-10-06 07:14:12