无法看到我的hibernate.cfg.xml文件

时间:2016-05-13 18:10:10

标签: hibernate maven

我对Hibernate有一些问题。我使用maven并拥有这样的项目结构:http://i.imgur.com/UAYcyRc.png

(对不起,我无法附上它,因为没有声誉)

我使用这种结构:

sessionFactory = new Configuration().configure("/resources/hibernate.cfg.xml").buildSessionFactory();

但它没有用,我收到了这个错误:

  Initial SessionFactory creation failed.org.hibernate.HibernateException:... not found

我应该在我的pom文件或其他任何内容中添加内容吗?

3 个答案:

答案 0 :(得分:0)

hibernate.cfg.xml应该在src / main / resources中。在src中,它不会被添加到运行时的类路径中。 在构建路径配置中,检查src / main / resources是否未从类路径中排除,并且确实是源文件夹。

答案 1 :(得分:0)

请按照以下方式更改您的代码;

    SessionFactory sessionFactory = null;
    Configuration configuration = new Configuration();
    configuration.configure("/resources/hibernate.cfg.xml");
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
            .applySettings(configuration.getProperties()).build();

    sessionFactory = configuration.buildSessionFactory(serviceRegistry);

我有一个类似你的项目,给定的代码示例就像魅力一样。

答案 2 :(得分:0)

请按照以下步骤操作:

  1. 只需确保hibernate.cfg.xml位于类路径的根目录,方法是在 src / main / resources 下指定它,以便它直接位于 web-下构建应用程序后的inf / classes

  2. 不要为 hibernate.cfg.xml 文件指定任何绝对路径

  3. 请添加以下行以获取SessionFactory

    Configuration configuration = new Configuration().configure();
    ServiceRegistryBuilder registry = new ServiceRegistryBuilder();
    registry.applySettings(configuration.getProperties());
    ServiceRegistry serviceRegistry = registry.buildServiceRegistry();
    SessionFactory sessionFactory =     configuration.buildSessionFactory(serviceRegistry);
    Session session = sessionFactory.openSession();