此文章为自己书写,在Word上做的笔记,然后拷贝到这上边的,无任何抄袭。另外若是程序有任何问题可以评论,也可私信我。
实体类对象状态(概念)
1.实体类对象状态
(1)瞬时态:对象里没有id值,对象与session没有关联
(2)持久态:对象里有id值,对象也与session关联
(3)托管态:对象里有id值,但是对象与session没有关系
2.演示操作实体类对象的方法
(1)saveOrUpdate方法:既能实现添加,也能实现修改
Hibernate一级缓存
什么是缓存
1.数据存到数据库中,数据库本身就是文件系统,使用流的方式操作文件效率不是很高。
(1)把数据存到内存中,不需要流的方式,就可以直接读取内存中的数据
(2)把数据放到内存中,提高读取效率
Hibernate缓存
1.Hibernate框架中提供了很多优化方式,Hibernate中的缓存就是一个优化方式
2.Hibernate缓存特点:
第一类:一级缓存
(1)Hibernate的一级缓存默认就是打开的
(2)Hibernate的一级缓存有使用范围:是session范围,从session创建到session关闭的范围
(3)Hibernate的一级缓存中,存储数据必须是持久态数据
第二类:二级缓存
(1)目前已经不使用了,替代技术redis
(2)二级缓存默认不是打开的
(3)二级缓存的使用范围是整个项目的范围,是sessionFactory范围
验证一级缓存存在
1.验证方式
(1)首先根据uid=1查询,返回一个对象
(2)再根据uid=1进行查询,又返回一个对象
第一次发送了sql语句,第二次没有发送sql语句
一级缓存的执行过程
Hibernate一级缓存的特性
1.持久态会自动更新数据库
持久态的数据就算不调用update方法也可以实现修改
2.执行过程(了解)