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

1 什么是对象持久化

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

2 为什么要持久化

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

3 怎么实现持久化

3.1 对象序列化

  • 即实现了Serializable接口的类。适合于少量的对象进行暂时的持久化,适合于在网络上传输对象。但不符合企业级应用的需要。因为企业应用中对数据的要求是大量的、长时间保存的、需要进行大规模查询。

3.2 JDBC

  • 优点:功能完备、从理论上说效率是最高的;可以存储海量的数据并且适合进行大规模检索;
  • 缺点:开发效率和维护效率低;开发难度大,代码量大,占到总代码量的1/3,或者1/2;

3.3 ORM

  • ORM,即Object-Relationship Mapping,对象关系映射,它是一种解决问题的思路,是一种思想。它的实质就是将关系数据库中的业务数据用对象的形式表示出来,并通过面向对象的方式将这些对象组织起来,以实现系统业务逻辑。或者说,ORM就是内存中的对象数据库中的数据间的映射关系。
  • ORM实现框架的特点:开源的,实现了JDBC的封装,实现了简单的API,轻量级解决方案,持久化对象是一个POJO类。最有名的ORM框架就是Hibernate。

3.4 JPA框架

  • JPA,Java Persistence API,是Java EE 5的标准ORM接口,它是一种规范,一套接口,但不是实现。用于实现这一规范的ORM很多,其中Hibernate就是之一。

3.5 JPA、ORM和Hibernate间的关系

  • JPA、ORM与Hibernate间的关系是,ORM是一种思想;JPA则是这种思想的具体表现形式,是以Java语法规范表现出来的一种形式,是一套标准接口。Hibernate则是这套接口的具体实现。

4 Hibernate框架

  • Hibernate原来是JBOSS旗下的产品,2006年JBOSS被Red Hat收购,变为了红帽公司的产品。

4.1 Hibernate框架下载

  • Hibernate官网:http://hibernate.org

4.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 驱动