2014-01-20 10 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使用带注释的类,但我仍建议您验证指定的路径确实是正确的,并确实存在相应的资源