现在有一天,我正在使用IntelliJ学习Hibernate。所以,我创建了一个Maven项目并创建了一个Hibernate程序。但是后来我得到的错误就像这张图片中的节目一样。
然后我在互联网上搜索解决方案。但我找不到任何正确的解决方案。
答案 0 :(得分:2)
如果您在Intellij Idea工作,那么请创建一个名为" resources"的文件夹。在src \ main \ java下。打开项目的模块设置,选择"模块"从左边和在"来源"选项卡选择新创建的"资源"文件夹并将其标记为"资源"。
然后这应该有用。
Configuration con = new Configuration().configure("hibernate.cfg.xml");
答案 1 :(得分:1)
我们去...如果有人在2020年通过IntelliJ学习Hibernate,这可能对您有帮助:)
在IntelliJ中创建JAVA项目 2)在搜索框中键入Hibernate,以在列表中找到所需的插件。 如果未选中“休眠”旁边的复选框,请选中它以启用插件。 点击确定。
添加JDBC驱动程序并测试连接
using the common code snippet
如果运行正常,则将Hibernate Config文件添加到src目录的根目录中
术语
实体类:映射到数据库表的Java类
该Entity类应映射到实际的数据库表
ORM-对象关系映射
所以应该有一些将此类映射到db表的方法
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();
}
}
答案 2 :(得分:0)
将您的hibernate.cfg.xml文件放入" resource"文件夹中。
在main中你需要配置它像
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");