Hibernate的执行流程

时间:2022-08-21 17:06:15

在Hibernate开发过程中通常会用到5个核心接口,分别为Configuration接口、SessionFactory接口、Session接口、Transaction接口、Query接口。

这里先给出Hibernate执行流程的结果图:

Hibernate的执行流程

(1)初始化Hibernate,构建Configuration实例。这一步用来读取Hibernate核心配置文件和映射文件信息到Configuration对象(也就是加载hibernate.cfg.xml文件至内存中、根据hibernate.cfg.xml文件加载映射文件(*.hbm.xml)至内存中)中。

Configuration config = new Configuration().configure();

(2)创建SessionFactory实例。通过Configuration对象读取到的配置文件信息并创建SessionFactory,并将Configuration对象中的所有配置文件信息存入SessionFactory内存中

SessionFactory sessionFactory = config.buildSessionFactory(); 

(3)创建Session实例,建立数据库连接。Session是通过SessionFactory打开的,创建一个Session对象就相当于建立一个新的数据库连接。

Session session = sessionFactory.openSession();

(4)创建Transaction实例,开启一个事务。Transaction用于事务管理,一个Transaction对象对应的事务可以包含多个操作。使用Hibernate进行增删改操作的时候,必须先创建Transaction对象。

Transaction t = session.beginTransaction();

(5)利用session接口通过的各种方法进行持久化操作

session.save();
session.update();
session.delete();
saveOrUpdate()等等

(6)提交事务。增删改操作必须提交事务

t.commit();
t.rollback();

(7)关闭事务、关闭session、关闭sessionFactory

t.close();
session.close();
sessionFactory.close();