1.证明一级缓存的问题

输出结果:

只发出一条查询语句  第二条查询语句没有执行

因为第一条查询语句缓存的存在

2.

移除缓存:

输出结果:

3.一级缓存的快照

就是对一级缓存的数据备份

保证数据库的数据与 一级缓存的数据必须一致。

如果一级缓存修改了,在执行commit提交时,将自动刷新一级缓存,执行update语句,将一级缓存的数据更新到数据库。

4.   refresh 刷新

l  refresh 保证 一级缓存的数据 与 数据库的数据 保持一致。将执行select语句查询数据库,将一级缓存中的数据覆盖掉。只要执行refresh都将执行select语句。

输出结果:

刷新一次 就会执行一次select语句为了缓存中的数据与数据库中的数据保持一致

4.1   快照演示(一级缓存刷新)

问题:一级缓存什么时候刷新?(了解)

默认情况提交(commit())刷新。

User u = (User) session.get(User.class,"1");
System.out.println(u);
//修改持久态对象内容(一级缓存内容)--默认在commit时,将触发update语句。
u.setUsername("rose1");
System.out.println(u);

输出结果:

Hibernate:
select
user0_.id as id0_0_,
user0_.username as username0_0_,
user0_.password as password0_0_
from
t_user user0_
where
user0_.id=?
User [id=1, username=rose, password=1234]
User [id=1, username=rose1, password=1234]
Hibernate:
update
t_user
set
username=?,
password=?
where
id=?

转载于:https://www.cnblogs.com/fjkgrbk/p/hibernate_catch.html

hibernate的一级缓存问题相关推荐

  1. Hibernate的一级缓存

    Hibernate的一级缓存 什么是缓存:缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取 缓存的好处:提升程序运行的效率.缓存技术是Hibe ...

  2. Hibernate之一级缓存和二级缓存

    1:Hibernate的一级缓存: 1.1:使用一级缓存的目的是为了减少对数据库的访问次数,从而提升hibernate的执行效率:(当执行一次查询操作的时候,执行第二次查询操作,先检查缓存中是否有数据 ...

  3. hibernate教程--一级缓存详解

    1.1 Hibernate的一级缓存 1.1.1 Hibernate的一级缓存: 什么是缓存: 缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获 ...

  4. hibernate教程--一级缓存

    1.1Hibernate的一级缓存 1.1.1Hibernate的一级缓存: 什么是缓存: 缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取. ...

  5. (转)Hibernate的一级缓存

    http://blog.csdn.net/yerenyuan_pku/article/details/70148567 Hibernate的一级缓存 Hibernate的一级缓存就是指Session缓 ...

  6. java中一级缓存_JavaWeb_(Hibernate框架)Hibernate中一级缓存

    Hibernate中一级缓存 Hibernate 中的缓存分为一级缓存和二级缓存,这两个级别的缓存都位于持久化层,并且存储的都是数据库数据的备份.其中一级缓存是 Hibernate 的内置缓存,在前面 ...

  7. hibernate之 一级缓存和二级缓存

    2019独角兽企业重金招聘Python工程师标准>>> 缓存 缓存的实现不仅需要作为物理介质的硬件,同时需要管理缓存的并发访问策略和过期策略的程序(软件).所以缓存通常是通过软件和硬 ...

  8. Hibernate学习—— 一级缓存快照

    上一篇说到,Hibernate框架中,对象转化为持久化状态后,会在事务提交时,自动将对象属性存储到数据库,而在事务提交之前,我们是对哪里的对象进行操作呢,这就是一级缓存(Session缓存)的作用. ...

  9. hibernate中的一级缓存

    hibernate中的一级缓存 Hibernate提供了两种缓存,这里主要写一级缓存. 第一级缓存是session的缓存,由于Session对象的生命周期通常对应一个数据事务或者一个应用事务,因此它的 ...

  10. hibernate一级缓存_Hibernate缓存–一级缓存

    hibernate一级缓存 Welcome to Hibernate Caching – First Level Cache Example Tutorial. Recently we looked ...

最新文章

  1. 基于原始套接字的嗅探器
  2. 【简便解法】1068 万绿丛中一点红 (20分)
  3. python的数据结构
  4. 案例学习BlazeDS+Spring之三InSync01查找联系人
  5. html如何把三个按键放一起_winkawaks使用手柄按键玩游戏的教程-winkawaks街机模拟器用手柄攻略...
  6. glBindTexture--纹理
  7. 如何在Mac上的Pages文稿中设置对开页?
  8. jsjavaScript打印99乘法表
  9. 静态多层Map缓存清除
  10. 关于打开ARX项目的一些错误
  11. golang学习笔记(6)-gorm实现查询功能
  12. 图片怎么无损放大?不影响清晰度这么做
  13. Flashnbsp;AS3nbsp;学习9nbsp;-nbsp;时钟的制作
  14. 使用高德地图的逆向地址,获取坐标点
  15. 关于工业相机编程调用SDK二次开发的一些步骤流程
  16. ROS_Kinetic_19 群机器人框架示例(micros swarm framework)
  17. 使用Burp Suite对登录页面进行字典攻击
  18. iOS开发证书申请教程(udid真机调试测试)
  19. 自己做的WinForm版本的DVD中文游戏300,用电脑回忆儿时记忆
  20. 学习型通用红外遥控设备(四)

热门文章

  1. 深度学习框架PyTorch:入门与实践 学习(一)
  2. unity 入门学习之(一)创建基本的3D游戏场景
  3. sharelatex在centos 6.7 64位上的部署(1)
  4. vscode 转到实现方法失效_动图炫技23个鲜为人知的VS Code快捷键
  5. PoisonApple:针对macOS的持久化工具
  6. Raki的读paper小记:CLASSIC: Continual and Contrastive Learning of Aspect Sentiment Classification Tasks
  7. oracle循环数据,oracle循环插入数据
  8. oracle中日期格式的注意事项
  9. java字符串查找算法_java – 查找所有“字符相等”字符串的高效算法?
  10. 20180810 多益网络模拟笔试