一、ORM(Object Relations Mapping)对象关系映射
目前企业级应用采用面向对象的开发方式,而内存中的对象数据不能永久存在,如果想借用关系数据库来永久保存这些数据的话,无疑存在一个对象-关系的映射过程。在这种情况下诞生了许多解决对象持久化的中间件,其中Hibernate就是这样的一个这样的开源框架。
对象-关系映射ORM是用来将对象和对象之间的关系对应到数据库表与表之间的关系的一种模式。
二、持久化与持久层
持久化:把内存中的数据同步保存到数据库中或永久存储设备中。以前的JDBC操作其实也是一个持久化的过程。
持久层:专门负责持久化工作的逻辑层,由它统一与数据库层打交道。这样一来,便可以将之前的三层模型(表示层、业务逻辑层、数据库层)修改为四层模型(表示层jsp、业务逻辑层servicedao、持久化层hibernate和数据库层db)
三、JDBC的劣势
对于小型的应用开发而言,使用JDBC开发速度块。但是对于一些大型应用而言,单凭JDB就会滞后开发进度。
在当今多层体系结构的开发中,JDBC很难将持久层进行分离,而引入hibernate这样的持久层中间件之后,有利于团队开发,并提高了软件的可移植性。
四、Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对于JDBC进行了非常轻量级的封装,使得程序员可以随心所欲的使用面向对象的编程思想来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java Application中使用,也可以在Servlet/JSP的web应用中使用。
Hibernate与数据库的连接池配置信息均封装到hibernate.properties或hibernate.cfg.xml文件中,对象-关系的映射工作依靠ORM映射文件进行,最终完成对象与关系的平滑映射。
Hibernate的基本映射数据类型是JAVA基本类型与标准SQL类型相互转换。