定义:

  ORM(Object Relational Mapping) -- 是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。

  简单说:ORM是通过使用描述对象和数据库之间的映射的元数据,将Java程序中的对象 自动持久化到关系数据库中。

  本质上就是讲数据从一种形式转换成另外一种形式

Hibernate做什么:

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

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

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

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

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

  

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

OOD---设计对象化

OOP---面向对象的开发

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

Hibernate 存在的原因:

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

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

  3、JDBC操作数据库很繁琐

  4、SQL语句编写并不是面向对象

  5、可以在对象和关系表之间建立关联来简化编程

  6、O/R Mapping简化编程

  7、O/R Mapping跨越数据库平台

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语句;

最新文章

  1. WPF下的Richtextbox中实现表格合并,添加删除行列等功能
  2. 让你的站点也支持MarkDown
  3. 使用 DBCC IND 查看BTree 和 Heap结构
  4. 本地代码如何通过TortoiserGit提交到GitHub
  5. 使用Maven JGit-Flow Plugin
  6. SSM 集成的两个配置文件
  7. IOS网络第二天 - 01-基本的HTTP请求
  8. windows系统调用 semaphore信号量
  9. 数论+spfa算法 bzoj 2118 墨墨的等式
  10. CentOS Hadoop格式化HDFS异常java.net.UnknownHostException
  11. unity, audio falloff
  12. 2014--9=17 软工二班 MyEclipse blue==修改浏览器语言
  13. Threading Module源码概述(二)
  14. 设计模式总结篇系列:策略模式(Strategy)
  15. Java技术之如何保证同一资源被多个线程并发访问时的完整性?
  16. html5-列表
  17. centos 磁盘清理 /dev/vda1系统盘满了
  18. Postman 网络调试工具
  19. 用c语言如何在数字前自动补0
  20. Power Strings POJ - 2406(next水的一发 || 后缀数组)

热门文章

  1. 分布式存储ceph--osd故障硬盘更换(6)
  2. k8s组件批量启动、查看状态
  3. vue如何获取并操作DOM元素
  4. UE4 RHI(2)
  5. HashMap、Hashtable 以及HashSet
  6. PHP学习(9)——错误和异常处理
  7. ioremap&buddy system
  8. 性能排查--CPU占用高
  9. vlan端口类型
  10. [转帖]@RequestMapping 用法详解之地址映射(转)