Hibernate学习-概述-第1天

  Hibernate 是一个开放源代码的 ORM(对象关系映射)框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在Servlet/JSP 的 Web 应用中使用。

一、什么是 对象持久化

所谓持久化(Persistence),即把数据(如内存中的对象)保存到持久化设备,即可永
久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的数据存储到关系型的数据库中,当然也可以存储在磁
盘文件中、XML 数据文件中等。

二、为什么要持久化

(1)内存不能持久;
(2)内存容量有限(内存是用于存放计算数据的);
(3)业务数据共享的需要(需要公共的持久设备);
(4)为了使用大规模的检索(所以要将数据改为适合大规模检索的格式);
(5)数据管理的需要(安全、备份)

三、怎样实现持久化

1、对象序列化
即实现了 Serializable 接口的类。适合于少量的对象进行暂时的持久化,适合于在网络
上传输对象。但不符合企业级应用的需要。因为企业应用中对数据的要求是大量的、长时
间保存的、需要进行大规模查询。
2、JDBC
优点:功能完备、从理论上说效率是最高的;可以存储海量的数据并且适合进行大规
模检索;
缺点:开发效率和维护效率低;开发难度大,代码量大,占到到总代码量的 1/3,或 1/2;
3、ORM
ORM,即 Object-Relational Mapping,对象关系映射。它是一种解决问题的思路,是一
种思想。它的实质就是将关系数据库中的业务数据用对象的形式表示出来,并通过面向对
象的方式将这些对象组织起来,以实现系统业务逻辑。或者说,ORM 就是内存中的对象与
数据库中的数据间的映射关系。
Hibernate学习-概述-第1天
ORM 的特点:开源的,实现了 JDBC 的封装,实现了简单的 API,轻量级解决方案,持
久化对象是一个 POJO 类。最有名的 ORM 框架就是 Hibernate。
4、JPA 框架
JPA,Java Persistence API,是 Java EE 5的标准 ORM 接口。它是一种规范,一套接口,
但不是实现。用于实现这一规范的 ORM 很多,其中 Hibernate 就是之一。
5、JPA、ORM 与 Hibernate 间的关系
JPA、ORM 与 Hibernate 间的关系是,ORM 是一种思想。JPA 则是这种思想的具体的表
现形式,是以 Java 语法规范表现出来的一种形式,是一套标准接口。Hibernate 则是这套接
口的具体实现
6、hibernate与mybatis的区别
Hibernate:Hibernate是当前最流行的ORM框架之一,对JDBC提供了较为完整的封装。Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL的自动生成和执行。

Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于 POJO 与 SQL 之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO 。相对Hibernate“O/R”而言,Mybatis 是一种“Sql Mapping”的ORM实现。

四、Hibernate框架的下载

1、Hibernate 框架下载
Hibernate 官网:http://hibernate.org
Hibernate学习-概述-第1天

2、Hibernate 基本 Jar 包
调试 Hibernate 程序所需要的基本 Jar 包,在 Hibernate 框架解压目录的 lib 目录下。
(1)reqired 目录下所有 Jar
(2)optional/c3p0 目录下所有 Jar
(3)optional/ehcache/slf4j-api-1.6.1.jar
(4)jpa-metamodel-generator 目录下所有 Jar
(5)jpa/hibernate-entitymanager-5.0.1.Final.jar
当然,还需要一些其它的辅助 Jar 包。
(1)junit-4.9.jar
(2)slf4j-log4j12-1.7.12.jar 与 log4j-1.2.17.jar
(3)mysql 驱动