首先我们给Hibernate下一个定义:Hibernate是一种ORM框架,处于项目的持久层位置
hibernate的核心类与接口
1.Configuration类
(1) 主要解析hibernate的配置文件(hibernate.cfg.xml)和持久化映射文件
(2) 管理对象关系映射(*.hbm.xml对象关系文件),通过configuration对象的buildsessionFactory方法创建SessionFactory对象
(3) hibernate.cfg.xml文件
主要用于指定各个参数是hibernate核心文件,指定连接数据库的驱动、用户名、URL、连接池等,指定关系映射文件的位置(进行读取)
(4)*.hbm.xml(对象关系映射文件)
该文件主要建立表与类的映射关系,一般放在与类同一个目录
2.SessionFactory接口(会话工厂)
(1) 缓存sql语句和某些数据(一级缓存)
(2) 重量级类(占类存)保证一个应用只需要一个SessionFactory,换言之一个数据库中有一个会话工厂实例
(3) 通过SessionFactory接口获取Session实例
3.Session(会话接口)
(1)Session是Hibernate中应用最频繁的接口也被称为持久化管理器,Session实例通过SessionFactory获取
(2)它负责管理所有与持久化相关的操作:保存、删除、查询、修改
4.Query和Criteria接口
(1) 它们是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程
(2) Query封装了HQL查询语句
(3) Cirteria接口封装了基于字符串形式的查询语句,比Query更加面向对象,Criteria接口更加擅长执行动态查询
5. Transaction接口
(1)它是hibernate框架的事务接口,对底层的事物接口做了封装,可能是JDBC事物或JTA事物,有助于Hibernate在不同类型的环境中进行移植
(2)使用Hibernate进行操作,必须调用Transaction