001---Hibernate简介( 开源O/R映射框架)

001---Hibernate简介(开源O/R映射框架)

ORM(Object Relational Mapping)---是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据中。本质上就是将数据从一种形式转换到另外一种形式。

分层后,上层不需要知道下层是如何做了。

分层后,不可以循环依赖,一般是单向依赖。

Hibernate的创始人:Gavin King

Hibernate做什么

l  就是将对象模型(实体类)的东西存入关系模型中,

l  实体中类对应关系型库中的一个表,

l  实体类中的一个属性会对应关系型数据库表中的一个列

l  实体类的一个实例会对应关系型数据库表中的一条记录。

%%将对象数据保存到数据库、将数据库数据读入到对象中%%

OOA---面向对象的分析、面向对象的设计

OOD---设计对象化

OOP---面向对象的开发

阻抗不匹配---例JAVA类中有继承关系,但关系型数据库中不存在这个概念这就是阻抗不匹配。Hibernate可以解决这个问题

Hibernate存在的原因:

1、  解决阻抗不匹配的问题;

2、  目前不存在完整的面向对象的数据库(目前都是关系型数据库);

Hibernate的优缺点:

1、  不需要编写的SQL语句(不需要编辑JDBC),只需要操作相应的对象就可以了,就可以能够存储、更新、删除、加载对象,可以提高生产效;

2、  因为使用Hibernate只需要操作对象就可以了,所以我们的开发更对象化了;

3、  使用Hibernate,移植性好(只要使用Hibernate标准开发,更换数据库时,只需要配置相应的配置文件就可以了,不需要做其它任务的操作);

4、  Hibernate实现了透明持久化:当保存一个对象时,这个对象不需要继承Hibernate中的任何类、实现任何接口,只是个纯粹的单纯对象—称为POJO对象(最纯粹的对象—这个对象没有继承第三方框架的任何类和实现它的任何接口)

5、  Hibernate是一个没有侵入性的框架,没有侵入性的框架我们一般称为轻量级框架

6、  Hibernate代码测试方便。

Hibernate使用范围:

1、  针对某一个对象,简单的将它加载、编辑、修改,且修改只是对单个对象(而不是批量的进行修改),这种情况比较适用;

2、  对象之间有着很清晰的关系(例:多个用户属于一个组(多对一)、一个组有多个用户(一对多));

3、  聚集性操作:批量性添加、修改时,不适合使用Hibernate(O/映射框架都不适合使用);

4、  要求使用数据库中特定的功能时不适合使用,因为Hibernate不使用SQL语句;

Hibernate的重点学习:Hibernate的对象关系映射

对象---关系映射模式

l  属性映射;

l  类映射:

l  关联映射:

n  一对一;

n  一对多;

n  多对多。

常用的O/R映射框架:

1、  Hibernate

2、  Apache OJB

3、  JDO(是SUN提出的一套标准—Java数据对象)

4、  Toplink(Orocle公司的)

5、  EJB(2.0X中有CMP;3.0X提出了一套“Java持久化API”---JPA)

6、  IBatis(非常的轻量级,对JDBC做了一个非常非常轻量级的包装,严格说不是O/R映射框架,而是基于SQL的映射(提供了一套配置文件,把SQL语句配置到文件中,再配置一个对象进去,只要访问配置文件时,就可得到对象))

时间: 2024-10-07 19:16:53

001---Hibernate简介( 开源O/R映射框架)的相关文章

006开源O/R映射框架内容回顾

Hibernate是一个O/R映射框架(也称为ORM) 从ORM词来看,O---Object(对象模型):R--- Relational(关联模型),可以做对象和关联的一种映射,当然这只是部分功能,一个完善ORM框架应该具有更多的功能:如HQL相关的查询语句.提供缓存机制(一级缓存.二级缓存). Java开发数据库时,使用JDBC,但是需要编写大量相同的代码,这样不便提高生产效率,而hibernate可以让你不能编写大量的相同的代码.从而提高生产效率.另一方面,hibernate可以让我们更面对

Hibernate (开源对象关系映射框架)

一.基本介绍1.它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm(对象关系映射)框架,hibernate可以自动生成SQL语句,自动执行: Hibernate可以应用在任何使用JDBC的场合. 2.持久化层:处理关系型数据库(数据存储层)和模型对象(object,业务逻辑模型)的映射关系的代码方法(ORM)3.Hibernate是一个基于JDBC的主流持久化框架,对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码,是一个优秀的

O/R Mapping框架:Ibatis与Hibernate之间的区别

hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了.ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了. 相对hibernate“o/r”而言,ibatis是一种“sql mapping”的orm实现. hibernate对数据库结构提供了较为完整的封装,hibernate的o/r mapping实现了pojo 和数据库表之间的映射,以及sql 的自动生成和执行.程序员往往只需定义好了po

Hibernate(开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

Hibernate (开放源代码的对象关系映射框架)介绍

Hibernate (开放源代码的对象关系映射框架) 编辑 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hiberna

Hibernate (开放源代码的对象关系映射框架)

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

开源实体映射框架EmitMapper介绍

开源实体映射框架EmitMapper介绍 综述 EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/. EmitMapper映射效率比较高,接近硬编码.EmitMapper采用emit方式在运行时动态生成IL,而其他映射框架多是采用反射机制.此外EmitMapper最大限度地减少了拆箱装箱操作和映射过程中的额外的调用. EmitMapper支持.net的所有平台:Framework 3.5.Microsoft Silverlight 3

4.Hibernate O/R 映射

O/R 映射 目前为止我们已经通过应用 Hibernate 见识过十分基础的 O/R 映射了,但是还有三个更加重要的有关映射的话题需要我们更详细的探讨.这三个话题是集合的映射,实体类之间的关联映射以及组件映射. 集合映射 如果一个实例或者类中有特定变量的值的集合,那么我们可以应用 Java 中的任何的可用的接口来映射这些值.Hibernate 可以保存 java.util.Map, java.util.Set, java.util.SortedMap, java.util.SortedSet,

从零打造在线网盘系统之Hibernate配置O/R映射

欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重地阐述SSH三个框架的基础知识,第四部分将会进入项目实战,如果您已经对SSH框架有所掌握,那么可以直接浏览第四章,源码均提供在GitHub/ssh-network-hard-disk上供大家参阅 本篇学习要求 主键映射 普通属性映射 组件映射 一对一关联映射 多对一单向关联映射 多对一双向关联映射