我的项目是这样的:

/src/main/java
     -thegamers
         -app.java
         -hibernateutil.java

有人可以告诉我在哪里放冬眠。cfg。xml?

因为我得到这个错误:

Initial SessionFactory creation failed.org.hibernate.HibernateException: hibernate.cfg.xml not found
Exception in thread "main" java.lang.ExceptionInInitializerError
    at thegamers.HibernateUtil.buildSessionFactory(HibernateUtil.java:17)
    at thegamers.HibernateUtil.<clinit>(HibernateUtil.java:8)
    at thegamers.App.main(App.java:15)
Caused by: org.hibernate.HibernateException: hibernate.cfg.xml not found
    at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
    at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:2149)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2130)
    at thegamers.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
    ... 2 more
有帮助吗?

解决方案

配置文件 hibernate.cfg.xml 需要在 classpath.

这可以通过不同的方式完成,具体取决于您的项目。

  • 对于一个 web应用战争 项目(您正在Servlet容器中运行程序):把它放在 WEB-INF/classes 将作为文件在 WEB-INF/classes 当应用程序在容器中运行时,在类路径上可见。

  • 对于一个 Maven-样式项目(不在Servlet容器中运行程序):把它放在 /src/main/resources/ 将工作

  • 否则,请尝试 src/ 目录。

其他提示

我正在使用maven,直到我把hibernate.cfg.xml放在src/main/resources中,它不起作用。

在项目的根部: /src (默认情况下)

如何知道是否 /src 消息来源是dir吗?
当您创建一个新的Java类时,它包含在一个包中(通常它被称为创建它的dir的同名)。所以,在你的类声明中,你可以看到这样的东西:

package foo;

class MyClass{

在默认IDE设置中,该类应在以下位置找到 /src/foo/MyClass.java.正如你所看到的,在这种情况下 /src 作为根源dir。

如果它不是Web项目,那么明确地就像那个一样

new Configuration().configure( "pth/to/hibernate.cfg.xml").buildsessionfactory()
.

希望这可能有助于

@sib指向链接(MKYONG的网站)。它在那里得到了解释。

该文件应该进入您的根目录。 /src 署长,而 /src 未部署,其中的所有内容都构建/复制到 WEB-INF/classes 其被部署。Hibernate需要 cfg.xml 文件在 classpath 在要加载其配置设置的项目中, WEB-INF dir不在你的 classpath, 所以如果你把它放在那里,你就会 隐藏 它来自Hibernate,它不起作用。

线程 会告诉你如何加载休眠。cfg。来自任何不同路径的xml。

如果您使用的是Eclipse,请转到Project - > Properties - > Java Build Path - > Source。您可以添加放置文件的新文件夹,或将文件移动到现有文件夹。

cmd + n / ctr + n在eClips上时,它将在其中打开一个对话框,您必须在hibernate文件夹上单击达贝布尔。 它将打开具有XML延长的文件列表。 选择CFG.xml,然后单击继续,完成后!点击完成。Eclips现在将使用CFG.xml文件添加类名并将其显示在SRC文件夹下。gb

地点 hibernate.cfg.xmlsrc/ 文件夹或明确提及代码中的路径为:

new Configuration.configure("path of hibernate.cfg.xml").buildsessionfactory()

尝试将其放入“src/main/resources”目录中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top