2014-01-20 39 views
0

我想我所有的XML配置在WEB-INF/conf文件夾包括hibernate.cfg.xml和xxxx.hbm.xml我覺得冬眠是非常愚蠢的加載它的配置文件

我嘗試

cfg.configure(req.getRealPath("/WEB-INF/hibernate.cfg.xml")); 

然後 「file not find

然後

我嘗試

cfg.configure(new File(req.getRealPath("/WEB-INF/hibernate.cfg.xml"))); 

配置文件被加載,但xxx.hbm.xml文件只是找不到。

有沒有人可以告訴畝如何加載cfg.xml及其所有xxx.hbm.xml

+0

我不希望將它放在類路徑中 – lovespring

回答

0

我試試 cfg.configure(req.getRealPath(「/ WEB-INF/hibernate.cfg.xml」)); 然後在「文件找不到」

從文檔

使用在給定的應用程序資源指定的映射和屬性。資源的格式在hibernate-configuration-3.0.dtd中定義。 資源通過getConfigurationInputStream(resource)找到。

所以,如果你指定一個文件,你需要(使用​​......)

配置文件加載到一個提供文件對象的構造函數,但xxx.hbm.xml文件無法找到。 有誰可以告訴畝如何加載cfg.xml文件及其所有xxx.hbm.xml

這看起來像指定相對路徑或cfg.xml文件內絕對路徑的簡單問題。雖然我總是建議通過xml使用帶註釋的類,但我仍建議您驗證指定的路徑確實是正確的,並確實存在相應的資源