【问题标题】:Hibernate - cfg.xml Not Found in ResourcesHibernate - 在资源中找不到 cfg.xml
【发布时间】:2020-08-05 20:38:16
【问题描述】:

编辑:删除了spring sn-ps

常见问题,但所有关于此的线程都无法解决我的问题。

这是我非常简单的测试设置:

public class HibernateSandboxApplication {

    public static void main(String[] args) {
        new Configuration().configure();
    }
}

项目结构:

为什么 configure() 在资源文件夹中找不到我的 cfg.xml?

【问题讨论】:

  • 这个看起来像一个 Spring Boot 项目。如果是这样,您不应该手动配置 Hibernate 任何东西;那是布特的工作。 (这意味着没有new Configuration() 没有cfg.xml。)
  • 是的,但正如我对 Kornejew 所说,即使我将它作为普通的 java 应用程序运行,Hibernate 也无法在我的资源中找到 cfg.xml。
  • 没有“即使”。您不应将其作为“普通 Java 应用程序”运行;您应该使用SpringApplication.run,因为我相信您最初是在生成的项目中获得的。

标签: java hibernate


【解决方案1】:

您需要在 applicationContext.xml 中声明它。看看这里:Spring and hibernate.cfg.xml

【讨论】:

  • 我不应该能够在 Spring 一侧加载 Hibernate 吗?毕竟你可以独立运行它,Spring是怎么搞砸的?无论哪种方式,即使我删除了所有 Spring 注释,所以它只是作为一个简单的 main() Hibernate 运行,仍然无法在资源中找到 cfg.xml 文件。
  • 你可以通过不同的方式在spring中配置hibernate。我个人更喜欢注解和配置类。但是 application.yaml 也很棒。如果你刚刚开始,我强烈推荐这个教程:baeldung.com/spring-boot-hibernate
  • 然后我可以将 cfg.xml 全部丢弃,让 Spring 通过 application.properties 从我所看到的内容中读取它。似乎是正确的方法,因为我希望它作为 Spring 应用程序,但即使我在没有 Spring 的情况下运行,Hibernate 也无法获取 cfg.xml 仍然让我感到困扰。
猜你喜欢
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 2020-07-29
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
相关资源
最近更新 更多