我正在構建一個基於Maven的應用程序,我想用Hibernate來處理數據庫。我閱讀了很多文章,寫道,當我有Maven項目時,我必須將我的xml文件放入src/main/resources中。我已經這樣做了,但我又陷入了錯誤。這是我的xml文件:爲什麼我找不到hibernate.cfg.xml,即使我的xml文件在maven項目的src/main/resources中?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">""</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/database</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="show_sql">true</property>
<property name="connection.pool_size">1</property>
<mapping class="pojo.Student"></mapping>
</session-factory>
</hibernate-configuration>
我將此文件添加到JavaResources/src/main/resources中。
這是我FirstDemo類:
public class DemoFirst {
public static void main(String[] args) {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
Student student = new Student();
student.setFirstName("Bob");
student.setAge(26);
session.save(student);
session.getTransaction().commit();
session.close();
}
這是錯誤:
Exception in thread "main" java.lang.ExceptionInInitializerError
at pack.DemoFirst.main(DemoFirst.java:12)
Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1953)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1934)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1914)
at pack.HibernateUtil.<clinit>(HibernateUtil.java:17)
... 1 more
這是從IDE內部運行代碼嗎?如果是,哪個IDE? – DaveH
這是當我在eclipse中運行應用程序時... – Atenica
是在構建路徑中聲明爲源目錄的src/main/resources目錄嗎? – DaveH