夜光序言:

孤独放生春风

窗外全是寂寞

拍拍肩头前尘

奔跑依旧继续。

正文:

1. hibernate对象状态

session.save(对象);

  • 临时状态

1 . 直接new出来的对象

2. 不处于session的管理(即没有与任何一个session关联)

3. 对象在数据库中没有对应的记录

Employee  e  = new Employee();

e.setId(2);  只要主键在数据库中存在,就说这个对象在数据库中有对应记录

在数据库中叫主键~~么么

OID, object identified 对象的唯一标识 (对应数据库中的主键)

  • 持久化状态

1. 处于session的管理范围

当执行session的方法如:save/update/saveOrUpdate/get/load

对象就会自动转变为持久化状态

2. 在数据库中有对应的记录

3. 处于持久化状态的对象,当对对象属性进行更改的时候,提交事务更改会反映到数据库中

  • 游离状态

1. 对象不处于session的管理范围;  通常指session关闭后对象的状态

2. 对象在数据库中有对应的记录

2. Session缓存

概念:

Session缓存,也叫做一级缓存

当执行session的相关方法,如: save()/update()/get()/load()等方法的时候,对象会自动放入一级缓存中。

当Session关闭后,一级缓存内容失效

特点:

1)缓存有效范围,只在当前session范围内有效~~,帅气~缓存时间很短、作用范围小

2)一级缓存,可以在短时间内多次操作数据库的时候,才会明显提升效率

一级缓存的结构:Ma<主键,对象>

3)在提交事务时候,

Hibernate会同步缓存数据到数据库中,会对比缓存数据与数据库数据是否一致,如果不一致,才提交更改到数据库(生成update)

4) hibernate提供的一级缓存有hibernate自身维护,如果想操作一级缓存内容,必须通过hibernate提供的方法;

session.flush();       手动让让一级缓存内容与数据库同步

session.evict(emp1);   清空一级缓存中对象:  清除指定的对象

session.clear();       清空一级缓存中对象:  清除所有的对象

list()与iterator()查询区别

list:  (通常使用频率较高)

Query接口定义的list查询方法,

一次查询所有满足需要的数据

iterator:

Query接口定义的iterator查询方法,

1. 先查询所有满足条件记录的主键   (查询1次)

2. 再根据每一个id,进行主键查询,有多少记录,查询多少次  (查询n次)

3. iterator查询:  N + 1

4. iterator查询,迭代数据的时候,只有用到数据的时候,才会查找数据库(懒加载)

区别:

1. 查询数据方式不同: 查询全部与查询N+1

2. 一级缓存

List查询,查询的结果会放入一级缓存,但不会从一级缓存中获取

Iteraotro查询,会放入一级缓存,同时也会从一级缓存中获取

本文原文地址:https://blog.csdn.net/weixin_41987706/article/details/89239973

夜光带你走进Hibernate(四)相关推荐

  1. 设计模式六大原则:迪米特原则-带你走进梦幻西游(四)

    转载请标明:http://blog.csdn.net/liulongling/article/details/51332685 面向对象其它六大原则 单一职责原则-带你走梦幻西游(一) 依赖倒置原则( ...

  2. 夜光 带你走进设计模式(四)

    夜光序言: 柔情似水如梦,昏沉迷惘度年. 红尘作伴如你,萧瑟千里独行. 正文:单例模式 嘿哈~~:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式 ...

  3. 夜光带你走进 前端工程师(四十二 jS )

    夜光序言: 孤高所以至高. 所谓真正的英雄就是一个人.因为孤高所以强大. 没有持有羁绊也就是说没有必须守护的东西.必须守护的东西换言之就是弱点. 因此没有弱点.没有必须守护的东西.和别人没有联系的人才 ...

  4. 夜光带你走进 微信小程序开发(四十二)擅长的领域

    夜光序言: 世人笑我痴红尘,不过红尘恋伊人. 正文:                                                 以道御术 / 以术识道 /*夜光: pages/g ...

  5. 夜光带你走进 前端工程师(四十 jS )

    夜光序言: 她只有我了 我若是不等她 谁会等她 我若是不守护她 谁会守护她 正文: 倒计时  <!DOCTYPE html> <html> <head lang=&quo ...

  6. 夜光带你走进 Java 成神之路--Spring(四十六)擅长的领域

    夜光序言: 人生不要被过去所控制,决定你前行的,是未来; 人生不要被安逸所控制,决定你成功的,是奋斗; 人生不要被别人所控制,决定你命运的,是自己; 人生不要被金钱所控制,决定你幸福的,是知足; 人生 ...

  7. 夜光带你走进JavaScript(四十六)擅长的领域

    夜光序言: 从一开始以为这个世界上只有自己,到明白自己的天赋其实只够做一个不错的普通人. 然后人就长大了 正文: 事件冒泡或事件捕获? 事件传递有两种方式:冒泡与捕获. 事件传递定义了元素事件触发的顺 ...

  8. 夜光带你走进 微信小程序开发(四十)擅长的领域

    夜光序言: 赋予清风明月与你 相约少年游,鲜衣怒马. 秀发如烟,风中清扬, 寄予流轩,月下未殇. 清风疏旷,霭霭浮光, 流光皎皎,月色溶溶. 似逢诗意少年,笔下风月无端, 自矜风采若清流. 远山隐隐远 ...

  9. 夜光带你走进软件工程(四)

    夜光序言: 如果可以长生,你愿意永远活在黑夜吗? 正文:

最新文章

  1. 爬虫入门的基本原理,如果你连这些都不知道那你可以放弃爬虫了
  2. 估算神经网络卷积核数量的近似方法
  3. app.vue添加子组件
  4. css --- 使用媒体查询当屏幕宽度小于某个值时,隐藏掉某个类
  5. 使用大数据闪存打造融合数据平台
  6. xml 中插入html代码
  7. PHP数组合并+与array_merge的区别分析 对多个数组合并去重技巧
  8. 在开发过程中调试报表插件详细教程
  9. 汇编 align_从零开始自制操作系统(5):实模式汇编(二)
  10. IS-IS GR(优雅重启)过程
  11. 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 序言
  12. 笨方法学Python
  13. html渐变颜色代码表,渐变颜色代码表
  14. AUTOCAD--实时缩放
  15. python 处理word 分页符、分节符
  16. 在项目中后端开发所需要掌握的前端知识
  17. 分别编写计算球的表面积和体积的函数area和volume。在主函数中输入球的半径,分别调用函数area和volume计算并输出球的表面积和体积。
  18. 使用 *号在分别在控制台输出一个平行四边形、等腰三角形、菱形
  19. 卷积神经网络demo
  20. 【MapSqlParameterSource】映射数据源官方API介绍

热门文章

  1. Deep Silver 将《地铁 离去》从Steam改至Epic商城
  2. 地铁运行速度测试软件,《地铁:离去 增强版》PC性能测试
  3. 计算机c语言苹果和虫子,计算概论(A)/基础编程练习1(8题)/2:苹果和虫子
  4. 计算机类免费电子书共享
  5. LeetCode 827 最大人工岛 C++
  6. 大型主机(z/OS系统)编译运行第一个COBOL语言hello world(解决编译时返回码为12问题)
  7. LoRaWAN 规范 1.0(2~4章)
  8. clang入门大全以及clang全家桶介绍
  9. iOS NFC读取tag功能实现
  10. 玩游戏用什么耳机好?和平精英吃鸡耳机排行榜