1. Configuration
负责Hibernate配置工作,创建SessionFactory对象,在Hibernate启动过程中,Configuration类的实例首先定位在映射文件位置,读取配置,然后创建SessionFactory对象。目前的版本中已经被弃用。
2. SessionFactory
sessionFactory接口负责初始化Hibernate。它充当数据存储源代理,使用工厂模式创建Session对象。需要注意的是SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够了,但需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
3.Session
Session接口对于Hibernate开发人员来说是一个最重要的接口,在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中非常的重要,因为在程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。但是Session对象是非线程安全的,因此在你的设计中,最好是一个现成只创建一个Session对象。Session可以看作介于数据连接与事务管理的一种中间接口。我们可以将Session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。我们有时也称Session是一个持久层管理器,因为Session负责执行被持久化对象的增删改查操作,类似于JDBC的Connection和Statement,诸如存储持久对象至数据库,以及从数据库获得它们。需要注意的是,Hibernate的Session不同于JSP应用中的HttpSession。在Hibernate中,我们使用Session这个术语时,指的是Hibernate自己的Session。
4.Transaction
负责事务相关的操作,它代表的是Hibernate事务,本质上也是数据库事务。一般在Hibernate的增删改查中出现,但是使用Hibernate一般使用Spring去管理事务。
5.Query
负责执行各种数据查询功能,它可以使用Hibernate特有的HQL语言