/hibernate.cfg.xml 在 Intellij 中找不到

Posted

技术标签:

【中文标题】/hibernate.cfg.xml 在 Intellij 中找不到【英文标题】:/hibernate.cfg.xml not found in Intellij 【发布时间】:2017-09-07 01:44:13 【问题描述】:

现在,我正在使用 IntelliJ 学习 Hibernate。所以,我创建了一个 Maven 项目并创建了一个 Hibernate 程序。但后来我得到了一个错误,就像这张图片中的节目一样。

然后我在互联网上搜索解决方案。但我找不到任何正确的解决方案。

【问题讨论】:

您尝试过这些吗:***.com/questions/24065817/…、***.com/questions/4934330/…、***.com/questions/8196370/hibernate-cfg-xml-not-found、***.com/questions/15258594/…? 你能展示一下你的项目目录结构吗? hibernate.cfg.xml 文件在哪里? 【参考方案1】:

如果您正在使用 IntelliJ Idea,则在 src\main\java 下创建一个名为“resources”的文件夹。打开你项目的Modules设置,从左侧选择“Modules”,在“sources”选项卡中选择新创建的“resources”文件夹并将其标记为“Resources”。

那么这应该可以工作。

Configuration con = new Configuration().configure("hibernate.cfg.xml");

【讨论】:

【参考方案2】:

我们开始...如果有人在 2020 年在 IntelliJ 中学习 Hibernate,这可能会对您有所帮助 :)

    在 IntelliJ 中创建一个 JAVA 项目 2)在搜索框中输入 Hibernate 以在列表中找到必要的插件。 如果未选中 Hibernate 旁边的复选框,请选中它以启用插件。 点击确定。

    添加 JDBC 驱动并测试连接using the common code snippet

如果运行正常,则将 Hibernate 配置文件添加到 src 目录的根目录

术语

实体类:映射到数据库表的 Java 类

这个实体类应该映射到实际的数据库表

ORM - 对象关系映射

所以应该有一些方法将这个类映射到一个数据库表

JAVA 注释 - 用于映射的现代且首选的注释

step 1: Map the class to the database table

@Entity    
@Table(name="db_name")

step 2: Map fields to database columns

@Id(signify primary key)
@Column(name="column_name")

喜欢这里..

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="student")
public class Student 

@Id
@Column(name = "id")
private int id;

@Column(name = "first_name")
private String firstName;

@Column(name = "last_name")
private String lastName;

@Column(name = "email")
private String email;

public Student()

 



开发 Java 代码以执行数据库操作

Hibernate 的两个关键人物:

 SessionFactory: 

这个读取休眠配置文件并创建会话对象。 只是因为沉重的对象,我们只在应用程序中创建一次并使用 一遍又一遍。

 Session : 

它就像 JDBC 连接中的包装器,用于保存/检索 来自数据库的对象。这是一个短暂的对象并已检索 来自 SessionFactory。

 public static void main(String [] args)

       SessionFactory factory = new Configuration()
                                        .configure("hibernate.cfg.xml")
                                        .addAnnotatedClass(Student.class)
                                        .buildSessionFactory();

       Session session = factory.getCurrentSession();


 try
    
   // use the session object to save/ retrieve java objects
   


  //create a test db object
   Student temoStudent = new Student("Tim","NIke","timnike@gmail.com");

   // start transaction
   session.beginTransaction();

   // save the student
   session.save(tempStudent);

   //commit the transaction
   session.getTransaction().commit();



  finally 

    factory.close();

  

 

【讨论】:

【参考方案3】:

将你的 hibernate.cfg.xml 文件放在“resource”文件夹中。

在 main 你需要像这样配置它

Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");

【讨论】:

以上是关于/hibernate.cfg.xml 在 Intellij 中找不到的主要内容,如果未能解决你的问题,请参考以下文章

使用 hibernate.cfg.xml 时更改 hibernate.properties 文件的位置

Hibernate----配置文件Hibernate.cfg.xml

hibernate.cfg.xml 和 applicationContext.xml的关系,

如何使用 hibernate.properties 文件而不是 hibernate.cfg.xml

/hibernate.cfg.xml 在 Intellij 中找不到

hibernate.cache.region.factory_class 在 hibernate.cfg.xml 中是必需的