Hibernate是一个开源的轻量级对象关系映射框架,本质上是一个提供数据库服务的中间件,其框架结构图如下:
[caption id="attachment_480" align="aligncenter" width="307" caption="Hibernate的框架结构及其工作流程"][/caption]
其中Hibernate曾利用数据库以及其它的一些配置文件如hibernate.cfg.xml和XML Mapping等为应用程序提供了持久化服务的支持,以下是Hibernate的工作流程:
(1)启动Hibernate
(2)构建Configuration实例,初始化实例中的所有变量:
Configuration cfg = Configuration.configure();
(3)加载hibernate.cfg.xml文件至cfg实例所分配的内存
(4)通过hibernate.cfg.xml文件 中格的mapping节点进行配置,并加载.hbm.xml文件至cfg实例中
(5)由cfg实例构建一个SessionFactory实例:
SessionFactory sf = cfg.buildSessionFactory();
(6)由上面得到的sf实例创建Session连接:
Session s = sf.openSession();
(7)由Session实例创建事务操作接口Transaction的一个实例:
Transaction tx = s.beginTransaction();
(8)通过Session接口提供的各种方法操作对数据库的访问
(9)提交数据库操作结果:
tx.commit();
(10)关闭Session连接:
s.close();