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年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

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

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

评论交流
    说说你的看法