Hibernate的工作原理及流程(底层组件实现图解)

Hibernate的工作原理及流程(底层组件实现图解)-mikechen

Hibernate简介

Hibernate是一个ORM框架,Hibernate实现了Java对象与关系数据库记录的映射关系,对JDBC做了轻量级的封装,简化了数据访问层编码。

Hibernate支持各种关系数据库,有了Hibernate就不需要写jdbc代码了,直接调用hibernate的方法就可以了,比如save、get等,简化了操作数据库。

 

Hibernate的核心组件

Hibernate的工作原理及流程(底层组件实现图解)-mikechen

1.Hiberbate配置文件

主要用来配置数据库连接参数,它有两种格式:hibernate.properties和hibernate.cfg.xml,通常使用后者。

2.持久化对象(PO)

可以是普通的JavaBean。

3.映射文件

用来把PO与数据库中的数据表映射起来,是hibernate的核心文件。

4.Configuration类

用来读取Hibernate配置文件和映射文件,并创建SessionFcatory对象。

5.SessionFactory接口

产生Sessio实例的工厂,是Hibernate的容器

6.Session接口

用来操作PO,它有get() save() update() delete()等方法,用来对PO进行加载、保存、更新及删除等操作,是hibernate的核心接口。

7.Transaction接口

用来管理Hibernate事物,主要方法有commit()和rollback(),可从Session的beginTransaction()方法生成。

8.Query接口

对PO进行查询操作。

 

Hibernate的工作原理

Hibernate工作流程如下图所示:

Hibernate的工作原理及流程(底层组件实现图解)-mikechen

主要分为如下9个步骤:

1)读取并解析配置文件;

读取并解析hibernate.cfg.xml配置文件

2)读取并解析映射信息:hibernate.cfg.xml中的读取并解析映射信息;

3)创建SessionFactory;

SessionFactory sf = config.buildSessionFactory();

4)打开Sesssion;

Session session = sf.openSession();

5)创建并启动事务;

Transaction tx = session.beginTransaction();

6)操作数据库,并持久化操作;

persistent operate

7)提交事务;

tx.commit();

8)关闭Session;

9)关闭SesstionFactory

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法