Hibernate简介

1、什么是Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,然后通过操作POJO,完成对数据表中的数据进行增、删、改、查等操作,使得Java程序员可以方便的使用对象编程思维来操纵数据库。
2、Hibernate核心接口和类
Hibernate的核心类和接口一共有6个,分别为:Session、SessionFactory、
Transaction、Query、Criteria和Configuration。这6个核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
Hibernate简介
Session 接口:负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。

SessionFactory 接口:负责初始化Hibernate和创建Session对象。一般情况下,一个项目只需要一个SessionFactory,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Transaction 接口:负责事务,是对实际事务实现的一个抽象,这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移植。

Query 接口:用来对数据库及持久对象进行查询,它有两种表达方式:HQL语言或本地数据库的SQL语句。

Criteria接口:与Query接口非常类似,允许创建并执行面向对象的标准化查询。值得注意的是Criteria接口也是轻量级的,它不能在Session之外使用。

Configuration 类:作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的启动过程中,Configuration 类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。虽然Configuration 类在整个Hibernate 项目中只扮演着一个很小的角色,但它是启动Hibernate时遇到的第一个对象。

3、Hibernate工作过程
1,应用程序通过Configuration().configure();读取并解析 hibernate.cfg.xml 配置文件;
2,由hibernate.cfg.xml中的读取解析映射信息;
3,通过config.buildSessionFactory() 得到sessionFactory;
4,sessionFactory.openSession() 得到session;
5,session.beginTransaction() 开启事务;
6,persistent operate 持久化操作
7,session.getTransaction().commit() 提交事务;
8,关闭session;
9,关闭sessionFactory;
Hibernate简介