我有一個使用Hibernate實體(帶註釋)的Java Web應用程序,並且在beans.xml文件中還包含Hibernate的配置(例如方言和映射實體列表)。Hibernate - 如何從另一個Web應用程序項目讀取配置?
我想寫一個新的簡單的Java應用程序(不是一個Web應用程序),將使用相同的Hibernate實體和配置,除了連接屬性(URL,用戶,密碼)。
我需要以某種方式從web-app讀取配置,並且只在運行時更改連接屬性(應用程序期望獲得連接屬性作爲輸入)。
我也希望應用程序能夠與該配置同時連接到多個數據庫。
我該怎麼做?
事情是,連接參數是應用程序輸入的一部分。我不能讓它們在XML中預定義。這是我的要求,這對於普通JDBC很容易實現。 –
我看到了兩個解決方案:首先,通過JMX與容器進行交互,即時更改DataSource連接參數,或者擁有「配置器」bean,但是,您必須自己管理Hibernate。配置程序可以使用Hibernate的配置API:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-programmatic。雖然不確定「多個數據庫同時」。 – jpkrohling
我檢查了你之前提供的鏈接,並且假設我使用了一個hibernate.cfg.xml文件,我不這樣做(正如我所說的,我在web-app中有一個beans.xml文件) 。也許我可以創建自己的cfg文件,它將從beans.xml中導入bean。關於多個連接,我想我只需要每個連接的會話工廠。 –