`

Hibernate的核心接口

 
阅读更多

所有的Hibernate应用都会访问Hibernate的五个核心接口:

1)Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
2)SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
3)Session接口:负责保存、更新、删除、加载和查询对象。
4)Transaction:管理事务。
5)Query和Criteria:执行数据库查询。

 

详细说明如下:

       ·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。 但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用 session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。

   ·SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建 Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

   ·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在 Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

  ·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,可发人员也可以设计编写自己的底层事务处理代码。

  ·Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

 

这五个核心接口的类框图:

                       实例化
Configuration --------> SessionFactory
                                             |
                                             |实例化
                                             |
                                             |      
                           实例化        ↓       实例化
              Query <-------- Session --------> Transaction
                                             |
                                             | 实例化
                                             |
                                            ↓
                                       Criteria

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics