码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate概念初探

时间:2018-03-17 21:36:07      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:under   creat   操作   使用   开源   png   oid   nat   orm   

概述


 

Hibernate是一个开源代码的对象关系映射(ORM)框架,是基于Java的持久化中间件,它对JDBC进行轻量级的对象封装。

它不仅提供了从Java类到数据表之间的映射,也提供了查询和事务机制。

相对于使用JDBC和SQL操作数据库,Hibernate大大减少了操作数据库的工作量。

作用


 

作为持久化的中间件,Hibernate采用ORM映射机制,实现Java对象和关系数据库之间的映射,把SQL语句传给数据库,并且把数据库返回的结果封装成对象。

内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API。从而使程序员使用面向对象的思维来操作数据库。

如图示:

技术分享图片

两个重要概念


1)数据持久化

数据持久化就是把内存中的数据(对象)永久保存到数据库中,实际上数据“持久化”包括了与数据库相关的各种操作。比如,保存、更新、删除、查询和加载。

说一下“加载”:

根据特定对象OID,把一个对象从数据库中加载到内存中。为了在系统中能够找到所需的对象,需要为每一个对象分配一个唯一的标识号。关系型数据库中称之为主键,而在对象术语中则称为对象标识(Object identifier-OID)。

数据持久化负责封装数据的访问操作,为业务逻辑提供面向对象的数据操作接口。

在Hibernate框架中,提供了访问数据库的方法,在使用时候直接调用即可。

2)ORM

全称Object/Relation Mapping,即对象/关系映射,是一种数据持久化技术,其基本思想是把对象模型(如JavaBean对象)与关系数据库的表建立映射关系。

在JDBC中,我们要做的是使用SQL语句操作数据库中的表;

而在Hibernate中我们不再需要直接操作数据库,而是转化为了对JavaBean对象的操作,就可以实现数据的存储、查询、更改和删除等操作。

ORM中对象与数据库表的映射关系
面向对象概念 面向关系表(结构)概念
数据表
对象 数据表中的行(记录)
属性 数据表中的列(字段)

 

 

 

 

 

Hibernate框架的结构体系


 

基于Hibernate的应用程序是通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(*.hbm.xml)把持久化对象(Persistence Object,PO)映射到数据库的数据表,然后通过操作持久化对象(PO),对数据库中的数据进行增删查改。

技术分享图片

由图中可以看出,使用Hibernate的开发人员的主要任务就是编写Hibernate配置文件(对应图中hibernate.properties)、设计PO类及对象-关系映射文件(对应图中XML Mapping),然后利用HibernateAPI来操作数据库。

Hibernate的核心组件


Hibernate全面解决方案体系架构:

技术分享图片

Hibernate组件层次架构:

技术分享图片

这些组件按被使用的次序分为5层,上层可对下层进行调用和使用。

1)Hibernate配置文件:主要用来配置数据库连接参数。如数据库驱动程序、URL、用户名和密码等。

它有两种格式:hibernate.properties和hibernate.cfg.xml。两者配置内容基本相同,通常使用后者。

2)持久化对象(PO):可以是普通的JavaBean。

3)映射文件:用来把PO与数据库中的数据表映射起来,是Hibernate的核心文件。

4)Configuration类:用来读取Hibernate配置文件和映射文件,并创建SessionFactory对象。

5)SessionFactory接口:产生Session实例的工厂,是Hibernate的容器。

6)Session接口:用来操作PO,它有get()、save()、update()、delete()等方法,用来对PO进行加载、保存、更新及删除等操作。它是Hibernate的核心接口。

7)Transaction接口:用来管理Hibernate事务,主要的方法有commit()和rollback(),可从Session的beginTransaction()方法生成。

8)Query接口:对PO进行查询操作。它可以从Session的createQuery()方法生成。

 

Hibernate概念初探

标签:under   creat   操作   使用   开源   png   oid   nat   orm   

原文地址:https://www.cnblogs.com/dudududu/p/8592548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!