Hibernate框架学习(简介)

来源:互联网 发布:gif编辑软件 编辑:程序博客网 时间:2024/05/01 13:32

Hibernate框架

一、Hibernate处于应用的层次

处于web应用四层体系的持久层。

二、本质

它属于O/R映射开源框架,即对象到关系数据库的映射,起到存储过程,加载过程及缓存的处理。

三、为什么能出现Hibernate框架

如果没有它,我们也可以做实体到关系库的存储,但很多SQL重复,且比较繁琐。严格上说之前的开发不完全是面向对象的,它的出现,是我们OOA、OOD、OOP更一体化,因为我们只看到对象了,没有SQL了。同时,它能处理阻抗不匹配的问题。

从对象角度看,Java是面向对象的,关系库是面向关系,两者存在不一致的概念,若想把一个继承关系存入数据库,而关系数据库无此概念,这就是阻抗不匹配的实例。

四、Hibernate的功能

让对象冬眠,通过持久化实现。把对象映射到数据库过程不需手动处理,可通过Hibernate实现,我们只需操作实体对象即可,实体来源于现实生活中,大多数为名词,且有对象标识的,即Oid。Hibernate可以将实体存入关系型数据库中,实体中的类对应关系型数据库中表,实体中的属性对应数据库表中的列,实体中的一个实例会对应到关系型数据库中的一条记录,它屏蔽了中间的SQL.。

五、类似Hibernate框架

Apache OJB、JDO(Sun提出)、Toplink(Oracle提出) 、EJB(CMP【2.0】、JPA【3.0】)、IBatis(基于SQL映射)

六、优缺点

优点:大部分SQL语句不用写,提高生产力。只操作对象,能更对象化开发。移植性比较好(较好处理数据库分页,屏蔽底层)。实现透明持久化\没有侵入性的轻量级框架(不需继承Hibernate任何类,即POJO)。适用针对某对象的简单查询、修改,适用对象间清晰关系的情况。

缺点:聚集性操作(例如:大批量对象的更新、删除场景)、对象间关系错综复杂及数据库的特定功能不适用。

原创粉丝点击