在Hibernate开发过程中通常会用到5个核心接口,分别为Configuration接口、SessionFactory接口、Session接口、Transaction接口、Query接口。
这里先给出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();