Hibernate Eclipse Web Project配置:如何指定文件配置?

时间:2013-02-28 12:56:06

标签: eclipse hibernate

请考虑以下声明:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

其中:

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

如何指定Hibernate将从中检索配置数据的文件? 解释一下,我有一个带有正确配置数据的hibernate.cfg.xml,但在运行时hibernate抛出错误引用其他项目的配置,如:

org.hibernate.MappingNotFoundException: resource: xx/AnotherNonRelatedProject/CertainClass.hbm.xml not found

无论如何,我猜测默认配置是从另一个文件传来的。但我搜索了我的hbm.xml文件,类和引用,似乎没问题。

关于这里会发生什么的任何想法?

Eclipse:Indigo SR2; Hibernate工具:3.5.1

谢谢!

2 个答案:

答案 0 :(得分:1)

如果要设置自己的Hibernate配置,则必须使用以下内容:

private static final SessionFactory sessionFactory;
    static {
        try {
            // Create your SessionFactory from hibernate.cfg.xml
            sessionFactory = new Configuration().configure(new File("hibernate1.cfg.xml"))
                    .buildSessionFactory();
        } catch (Throwable ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

最好的问候:)

答案 1 :(得分:0)

我正在回答我自己的问题,因为我发现了我的具体问题,我认为这是问题的另一个问题:

由于我的应用程序是基于Web的,因此Tomcat的lib文件夹中有一个来自另一个项目的.jar文件,该文件存在hibernate配置问题。因为Hibernate检查与某个项目相关的所有依赖项(包括所有.jar),其中包括Tomcat的lib中的所有jar。因此,在运行时期间会出现异常(当时对我来说完全陌生)。解决.jar文件的hibernate配置问题或从Tomcat的lib文件夹中删除它们(如果没有必要)可以解决问题。