我正在学习hibernate教程,并面临着这个问题。这是我的密码
public class HibernateTest {
public static void main(String[] args) {
System.out.println(args[0]);
User user = new User();
user.setId(1);
user.setName("John Smith");
SessionFactory sessionFactory = createSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
}
public static SessionFactory createSessionFactory() {
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
configuration.getProperties()).build();
return configuration.buildSessionFactory(serviceRegistry);
}
}这是我的项目结构。

但我有个例外,说
Exception in thread "main" 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:2095)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2076)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2056)
at HibernateTest.createSessionFactory(HibernateTest.java:25)
at HibernateTest.main(HibernateTest.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)发布于 2015-05-28 14:00:54
从错误中可以明显看出,hibernate.cfg.xml文件不在CLASSPATH中。
Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found要将文件保存在CLASSPATH中,可以将其移动到/src/main/resources (或)将文件的当前位置放在CLASSPATH中。
发布于 2015-05-28 13:58:32
将文件移到src/main/resources中,在构建时将其复制到类路径中。
发布于 2015-05-28 14:00:39
hibernate.cfg.xml必须在类路径上。这样的文件被认为是一种资源,应该放在src/main/resources下,构建工具将它放在classes文件夹中。
https://stackoverflow.com/questions/30508702
复制相似问题