gpt4 book ai didi

java - 找不到 resources/hibernate.cfg.xml

转载 作者:行者123 更新时间:2023-12-02 05:46:01 29 4
gpt4 key购买 nike

我正在学习在我的 Java Web 应用程序中使用 Hibernate。我有以下 sessionFactory 以 hibernate.cfg.xml 文件位置的配置开始,但它仍然提示: resources/hibernate.cfg.xml not found

“resources”文件夹是我的java项目中“src”文件夹的子目录。

public class HibernateUtil
{
private static final SessionFactory sessionFactory = new Configuration().configure("resources/hibernate.cfg.xml").buildSessionFactory();

public static void main(String[] args)
{
Session session = sessionFactory.getCurrentSession();
Transaction tx = session.beginTransaction();

Book book1 = new Book("John Wright", "Unknown Title");
session.save(book1);
tx.commit();

System.out.println("Book committed: book title: " + book1.getTitle() + ", author is: " + book1.getAuthor());
sessionFactory.close();
}


}

我在 pom.xml 中使用的 hibernate 依赖项如下,但 intelliJ 通过突出显示“删除线”来警告 buildSessionFactory() 方法已弃用

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>

我也在最底部发布了我的错误消息。出了什么问题?谢谢

10:43:12.737 [main] INFO  o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
10:43:12.746 [main] INFO org.hibernate.Version - HHH000412: Hibernate Core {4.3.1.Final}
10:43:12.747 [main] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found
10:43:12.749 [main] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
Caused by: org.hibernate.HibernateException: resources/hibernate.cfg.xml not found
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:2093)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2074)
at persistence.HibernateUtil.<clinit>(HibernateUtil.java:14)
... 3 more
10:43:12.763 [main] INFO org.hibernate.cfg.Configuration - HHH000043: Configuring from resource: resources/hibernate.cfg.xml
10:43:12.763 [main] INFO org.hibernate.cfg.Configuration - HHH000040: Configuration resource: resources/hibernate.cfg.xml

Process finished with exit code 1

最佳答案

找不到您的 hibernate 配置文件,因为启动 web 应用程序时它不在类路径的根目录中...

当您使用 Maven 时,将 hibernate.cfg.xml 文件放在 src/main/resources 文件夹中应该会使其自动复制到 WAR 文件中的 WEB-INF/classes 中。打开 WAR 文件并查看 hibernate.cfg.xml 的放置位置。

如果 hibernate.cfg.xml 文件不在您的 WAR 文件中...请仔细检查 POM 中的 maven-war-plugin 设置。

关于弃用警告,按照4.3 documentation ,buildSessionFactory() 已弃用,您应该改用 buildSessionFactory(ServiceRegistry)。

关于java - 找不到 resources/hibernate.cfg.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24065817/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com