Hibernate框架

一、Hibernate框架简介

Hibernate是对JDBC的进一步封装。它的一个主要出发点就是希望简化Java对象持久化的编程。因为直接使用JDBC时需要程序员编写大量繁杂的代码。

Hibernate是一个开源的ORM(对象-关系映射)框架,它的作用就是在POJO(普通JAVA对象)和关系型数据库之间做一个映射,把关系型数据库的字段与内存中java对象的属性做映射。这样,程序员在操作数据库的时候,就不用再写复杂的sql语句,就可以完成操作数据库的工作。

Hibernate框架是持久层框架,作用是将JAVA对象持久化到数据库中。 
Hibernate不要求程序员将POJO一一映射到数据库表,可以多个表对应一个POJO,也可以将多个POJO持久化到一个表中。

二、Hibernate框架的核心组件

  1. Configuration类:它用来读取Hibernate的配置文件,并生成SessionFactory对象。Hibernate的配置文件有全局配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(*.hbm.xml)。
  2. SessionFactory接口:用来产生Session对象。
  3. Session接口:用来操作POJO。
  4. Query接口:用来对POJO进行查询操作。
  5. Transaction接口:用来管理Hibernate事务。

其实刚开始对于Hibernate的这些核心组件混个脸熟就行,因为既然是核心组件,以后肯定经常用到。

三、Hibernate的运行过程

Hibernate框架

上图是Hibernate的运行过程。大致过程是:

  1. 由Configuration类读取配置文件,包括数据库用户名、密码等;
  2. SessionFactory生成Session对象,可以用Session对象生成Transaction对象进行事务操作,也可以用Session对象生成Query对象,执行查询操作,其实还有Criteria可以执行查询操作。

步骤:

  1. 决定你有哪些POJO需要持久化;
  2. 为每个需要持久化的POJO编写Hibernate XML映射文件(或者使用注解的方式,本次使用XML映射文件);
  3. 在pom.xml中引入Hibernate依赖;
  4. 编写Hibernate XML配置文件,配置数据库用户名、密码和第2步编写的映射文件;
  5. 使用模式导出工具导出DDL(创建数据库的语句)用于创建数据库;
  6. 在Java应用程序中创建Hibernate Configuration对象,这个对象会加载XML配置文件;
  7. 在Java应用程序中从Configuration对象创建一个SessionFactory对象;
  8. 从SessionFactory获取Session对象,用于为应用程序编写数据库访问逻辑(增删改查)。