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