Hibernate的学习,不算是新知识的学习,因为之前在项目中已经接触和使用了EF,它们都是ORM思想的具体实现。
所以开始学习Hibernate的时候,想起了《红楼梦》中的一句话:“眼前分明是外来客,心底却似旧相识”。我想,作为程序员,大家在学习知识过程中经常会有这种感觉吧!
下面的总结,是对之前学习的一个回顾,也是对今后的学习的一个指导。
概述
Hibernate在英文中是“冬眠”的意思,形象地解释了“持久”的状态,和持久化就联系在了一起,是一种ORM框架。
【持久化】:
就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。
【ORM】:
1.概念:对象关系映射。在程序开发时我们遵循面向对象的思想,对象都在内存中,但是数据最后会存到数据库中,数据库大多是关系型的数据库。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。它们之间是不匹配的。
2.映射:在数学中y=f(x),那么f是x到y的映射,代表了x和y之间的对应关系,ORM就是程序对象和关系数据库中数据之间的对应关系。既包括对象转化成关系数据的,也包括关系数据转化成对象的。
3.对比:在没有Hibernate,EF这些框架之前,我们要自己搭