当今应用软件的交互基本上都离不开数据库的支持,在Java的世界里,传统的数据库访问就是jdbc数据库访问,刚开始学习的时候应该还能满足我们的需求,但真正在实际应用中,其繁琐的操作,开发效率低效,代码冗余等不可避免的缺点也是大家有目共睹的,所以,一套高效简便的数据库访问框架在这种繁琐工作中诞生了。Hibernate就是这样的一套框架。

Hibernate定义

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

持久化的定义

Hibernate的主要任务是完成数据的持久化。所谓的持久化:就是将程序数据在持久状态和瞬时状态转换的一种机制。持久化的主要应用是将内存中的对象存储在关系型的数据库中,或者磁盘文件或者XML数据文件中等等。

  1. 瞬时状态(transient)
    保存在内存中的数据。程序退出后,数据就消失了。
  2. 持久状态(persisten)
    持久是相对时间来说的,在一定周期内保持不变就是持久。数据库中的数据,只要你不去删除或者修改,数据就是持久化了的数据。

Hibernate为应用程序提供了高效的O/R关系映射和查询服务,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。他也是对对象持久化的一个很好的实现。

对象关系映射(O/R)

Hibernate是一个开放源码的对象关系映射框架,对象/关系数据库映射(object/relation maooing)ORM这一术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。ORM的作用是在关系型数据库和业务实体对象之间作一个映射,这样我们在具体的操作业务对象时,就不需要再去和复杂的SQL打交道,只像平时操作对象一样操作它就可以了。ORM提供了概念性的、容易理解的模型化数据方法。方法的 三个核心原则:
1. 简单:以最基本的形式建模数据;
2. 传达性:数据库结构被任何人都能理解的语言文档化;
3. 精确性:基于数据模型创建正确标准化了的结构。

Hibernate能做什么?

Hibernate能帮助我们利用面向对象的思想,开发基于关系型数据库的应用程序。
1. 将对象保存到数据库
2. 将数据库数据读入对象中

hibernet架构 简述hibernate框架结构_hibernet架构

从上述图形可以看出,Hibernate使用数据库和配置信息来为应用程序提供持久化服务。

在这一篇中希望大家能通过介绍对Hibernate有一个初步的概念,理解其就是为了将对象和关系数据映射,数据在对象和数据库之间出入的一个持久化操作,其底层原理还是JDBC即可。