我正在尝试学习 Hibernate + Maven。我正在尝试连接到 PostgreSQL 数据库,但出现以下错误:
Initial SessionFactory creation failed.org.hibernate.HibernateException: hibernate.cfg.xml not found
hibernate.cfg.xml
文件已经在 src/main/resources
文件夹下,我已经将该文件夹添加为源文件夹。
这是 session 工厂初始化的代码:
Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
return configuration.buildSessionFactory();
编辑:这是 pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>com.jee.mavenapp</groupId>
<artifactId>hibernate-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hibernate-example</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
</dependencies>
最佳答案
在xml文件前添加正斜杠。
Configuration configuration = new Configuration().configure("/hibernate.cfg.xml");
你也可以省略参数,因为那是 default parameter ,例如
Configuration configuration = new Configuration().configure();
这是加载 classpath 上的文件所需执行的操作.
关于hibernate - 为什么 Hibernate 找不到/hibernate.cfg.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621709/