13

我在项目根文件夹中有hibernate.cfg.xml文件。

如果我运行包含以下内容的应用程序:

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

它在configure()方法中崩溃并显示以下消息:

找不到 cfg.xml 资源 [hibernate.cfg.xml]

输出

Jun 17, 2016 12:04:59 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.0.Final}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000205: Loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=org.h2.Driver, hibernate.service.allow_crawling=false, hibernate.max_fetch_depth=5, hibernate.dialect=org.hibernate.dialect.H2Dialect, hibernate.format_sql=true, hibernate.generate_statistics=true, hibernate.connection.username=sa, hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=10000, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.password=****, hibernate.connection.pool_size=5}
Jun 17, 2016 12:04:59 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
    at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:53)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:163)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:258)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:244)
    at o.k.j.HibernateTest.main(HibernateTest.java:22)
4

8 回答 8

42

如果您使用 Maven 构建项目,请将“hibernate.cfg.xml”文件放在“src/main/resources”下

于 2016-06-17T11:08:44.717 回答
16

如果您使用Maven作为构建工具,请放置hibernate.cfg.xml资源文件夹下。

使应用程序参考 Hibernate 配置文件的步骤。

右键单击资源文件夹并选择Mark Directory As选项,然后单击Resources Root

这些步骤在InteliJ IDEA Ultimate 14 中对我有用。

于 2017-05-06T10:13:18.507 回答
14

hibernate.cfg.xml文件应该移动到src文件夹。

于 2016-06-17T10:44:50.310 回答
1

移动hibernate.cfg.xml文件以src/main/resources解决我的问题

于 2021-01-29T10:25:56.120 回答
0

使用 forward / 放置 cfg 文件而不使用 forward / 它不会工作

于 2018-03-27T11:25:11.383 回答
0

我也遇到了类似的问题,我注意到我的休眠配置文件“hibernate.cfg.xml”不在所需的路径上。因此,我将 hibernate.cfg.xml 移动到 src 文件夹中并解决了问题。

于 2018-11-12T06:07:05.603 回答
0

它必须作为持久性类型添加到配置文件中。

项目设置>构面>添加休眠>配置路径

您可以在View > Tools Windows > Persistence中看到它已配置

总帐

于 2020-09-27T03:20:59.900 回答
0

休眠.cfg.xml

如果您使用的是 eclipse 那么它必须作为 src\main\java\hibernate.cfg.xml 添加到配置中

于 2021-07-14T06:19:14.183 回答