Hibernate技术学习 https://www.itkc8.com
一什么是ORM映射
所谓ORM映射,指的是对象数据和数据库数据的映射关系。也就是数据库表中的哪个字段映射对象的哪个属性。我们使用ORM映射来完成数据库的记录和对象属性值之间的转换。
二 hibernate特点:
Hibernate是一种开放源代码的对象/关系映射框架,是构建在JDBC基础之上的框架
解决阻抗不匹配的问题
完全着眼于关系数据库的 OR 映射
事务处理,生命周期管理不依赖于J2EE容器
三 hibernate优点和缺点
优点:
1 hibernate只需要操作对象就可以完成数据库的增、删、改、查操作。使用hibernamte更面向对象
2 轻量级、无侵入性,移植性很好
1 事务管理
缺点:
1 批量对对象进行操作时,内存消耗比较严重
2 无法使用数据库特定映射
3 表间关系很复杂时,容易造成性能问题
四 hibernate常用的接口
1、sessionFactory: 应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。
2、session:连接的封装对象。用session实现对ORM映射操作
3、Transaction用于对事物管理。
4、Query:用于查询
五 掌握主键生成策略
1、increment 自动增长,主键值由hibernate控制生成,不能用于集群
2、identity(mysql、sqlserver)、sequence(oracle)、native利用数据库自动增长列生成。
3、UUID:采用UUID算法生成字符串唯一标识
4、foreign:利用另一个表的主键生成当前表的主键。和<one-to-one>联合使用
六、掌握实体类对象三种状态:
1、瞬时状态:不受session管理,数据库中也没有相关记录
2、持久状态:受session管理,数据库中有相关记录。
3、游离状态:不受session管理,数据库中有相关记录
七、get和load 的区别
1、get立即加载,load延迟加载
2、在id不存在时,get返回null,load会抛出异常
3、get生成实体对象,load生成实体对象的子类对象。
八 掌握实体关系映射的相关配置
一对一:分为主键关联、外键关联
一对多:一个对象中拥有另一个对象的集合。一般使用Set
多对多:一个对象中拥有另一个对象的集合。同时,另一个对象中也拥有该对象的集合,需要有中间表。
九 掌握inverse和caseCade的区别
1 Inverse属性控制关联关系控制方向,维护的是外键
2 Inverse属性用于一对多和多对多关联关系上,设置在set标签上
3 默认为false表示我们可以从一端和多端进行维护。设置为true之后,表示我们只能从多端进行维护
4 Cascade是操作记录上的连锁反应,维护的是记录。某一端进行某种操作时,另一端的关联操作。
十 缓存的分类和使用
一级缓存:和session关联,session打开自动生成,session关闭自动销毁。不能跨session使用
二级缓存:可以跨session使用。主要产品有EHcache、Oscache
当查询实体时,会先查询一级缓存。如果一级缓存没有,再查询二级缓存
十一 延迟加载的含义
1 属性延迟
2 集合延迟
3 对象延迟
Hibernate技术学习 https://www.itkc8.com