【Hibernate系列】(一):心底好似旧相识
来源:互联网 发布:数据库管理dba 编辑:程序博客网 时间:2024/06/05 20:02
Hibernate的学习,不算是新知识的学习,因为之前在项目中已经接触和使用了EF,它们都是ORM思想的具体实现。
所以开始学习Hibernate的时候,想起了《红楼梦》中的一句话:“眼前分明是外来客,心底却似旧相识”。我想,作为程序员,大家在学习知识过程中经常会有这种感觉吧!
下面的总结,是对之前学习的一个回顾,也是对今后的学习的一个指导。
概述
Hibernate在英文中是“冬眠”的意思,形象地解释了“持久”的状态,和持久化就联系在了一起,是一种ORM框架。
【持久化】:
就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。
【ORM】:
1.概念:对象关系映射。在程序开发时我们遵循面向对象的思想,对象都在内存中,但是数据最后会存到数据库中,数据库大多是关系型的数据库。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。它们之间是不匹配的。
2.映射:在数学中y=f(x),那么f是x到y的映射,代表了x和y之间的对应关系,ORM就是程序对象和关系数据库中数据之间的对应关系。既包括对象转化成关系数据的,也包括关系数据转化成对象的。
3.对比:在没有Hibernate,EF这些框架之前,我们要自己搭建桥梁,实现他们之建的“沟壑”,比如:在程序中用sql语句查询出一个记录集合之后,我们要遍历这个集合,把每条记录的每个字段赋给一个实体的相应属性,然后再把实体添加到list集合中。会有很多重复代码。
优点
对象化:面向对象开发。
提高开发效率:避免写重复代码,提高效率。
移植性:数据库变的时候,只需要该配置文件就可以了。
轻量级:只需要有Java环境就可以了,不需要有容器、服务器。轻量级框架特点:没有侵入性。(在使用框架的时候,并不需要让原有的对象去继承或实现什么东西)
透明持久化:不知道的时候就把对象保存到数据库了。
学习路线
- API:对对象进行CRUD操作
- 如何配置和连接数据库
- 映射
特性:缓存,延迟加载,性能优化……
重点
在EF学习时学会了基本的CRUD操作,以及配置方法,但是没有认真总结过哪些映射关系,而且对延迟加载,性能优化这些内容不了解,所以这次学习重点学习这些内容。
- 【Hibernate系列】(一):心底好似旧相识
- Hibernate 初相识(一)Hibernate API 详解,配置文件,映射文件详解。
- Linux初相识(一)
- 【Hibernate】Hibernate系列(一)
- Android FragMent 的初相识(一)
- Rxjava(一):与Rxjava初相识
- 深入Hibernate学习系列(一)
- Hibernate入门系列(一)
- 相识
- 【旧文】AJAX总结(一)
- Hibernate用户指导系列一
- hibernate系列一:入门篇
- 好似不错
- Ajax学习(一)——与Ajax的初次相识
- 相识不如相望淡淡一笑
- Linux初相识(二)
- 【Hibernate系列】(五):关联映射之多对一
- SSH系列(一):Spring + Hibernate + SpringMVC 整合
- jsp生成二维码
- Django根据现有数据库建立model
- O(N)时间复杂度的排序算法-计数排序
- Brocade SAN Switch CFG backup and recover
- JSON解析(1)
- 【Hibernate系列】(一):心底好似旧相识
- 素材类网站 (欢迎补充)
- Java 多态详解 总结 以及 fina,abstractl关键字详解
- Android测试之Monkey
- 单向循环链表
- jQuery中的事件
- Linux中线程和进程的区别
- 深入分析JavaWeb Item40 -- 文件上传和下载
- Majority Element 找出一个数组中出现次数最多的元素