hibernate学习笔记第二天(3)

此文章为自己书写,在Word上做的笔记,然后拷贝到这上边的,无任何抄袭。另外若是程序有任何问题可以评论,也可私信我。

实体类对象状态(概念)

1.实体类对象状态
(1)瞬时态:对象里没有id值,对象与session没有关联
这里写图片描述
(2)持久态:对象里有id值,对象也与session关联
这里写图片描述
(3)托管态:对象里有id值,但是对象与session没有关系
这里写图片描述
2.演示操作实体类对象的方法
(1)saveOrUpdate方法:既能实现添加,也能实现修改
hibernate学习笔记第二天(3)_第1张图片
hibernate学习笔记第二天(3)_第2张图片
这里写图片描述

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进行查询,又返回一个对象
hibernate学习笔记第二天(3)_第3张图片

第一次发送了sql语句,第二次没有发送sql语句
hibernate学习笔记第二天(3)_第4张图片

一级缓存的执行过程

hibernate学习笔记第二天(3)_第5张图片

Hibernate一级缓存的特性

1.持久态会自动更新数据库
持久态的数据就算不调用update方法也可以实现修改
hibernate学习笔记第二天(3)_第6张图片
2.执行过程(了解)
hibernate学习笔记第二天(3)_第7张图片

你可能感兴趣的:(Hibernate)