碎片化 | 第四阶段-52-Hibernate特性-视频
时间:2022-05-06
本文章向大家介绍碎片化 | 第四阶段-52-Hibernate特性-视频,主要内容包括Hibernate特性、持久化、缓存(性能优化)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
如清晰度低,可转PC网页观看高清版本:
http://v.qq.com/x/page/r056899qkz7.html
Hibernate特性
延迟加载
做一些查询数据操作时,有一些API方法具有延迟的机制,即:我们使用API去操作查询数据,此时并没有调用我们的sql语句,而是在使用对象的时候,才去调用sql加载数据
session.get方法//无延迟加载特性
query.list()//无延迟加载特性
session.load方法//具有延迟加载特性
query.iterate()//具有延迟加载特性
问题(并发业务):
我调用了sql语句,查询出数据,在赋值界面,.....no session
问题流程:请求->filter控制器->Action->DAO(关闭session)->result->jsp
解决:
1:将数据放到缓存
请求->filter控制器->Action->DAO(关闭session)->result->jsp(缓存)
2:Spring中解决,可以通过拦截器、AOP等处理,通过opensessioninviewfilter组件(web.xml),可以处理session资源、集中处理
解决流程:
请求->filter控制器->Action->DAO(不关session)->result->jsp->关闭session
持久化
1:临时状态(Transient)
new xxx()
可以被回收站进行回收,gc
2:持久状态(Persisten)
get/load/find/exc
不可以被回收站进行回收
3:游离状态(Detached)
只能有持久化状态演变而来
evict、close、clear
可以被回收站进行回收
缓存(性能优化)
1:一级缓存(自动开启)
在我们使用对象的时候,查询操作,会自动将数据进行缓存,生命周期和session同步
第一次查询,是通过调用sql语句查询,第二次查询,就是从缓存中取值
2:二级缓存
3:查询缓存
- 1088: [SCOI2005]扫雷Mine
- 1029: [JSOI2007]建筑抢修
- 洛谷P2860 [USACO06JAN]冗余路径Redundant Paths(tarjan求边双联通分量)
- 关于类的对象创建与初始化
- 1191: [HNOI2006]超级英雄Hero
- 2005: [Noi2010]能量采集
- 1067: [SCOI2007]降雨量
- 2761: [JLOI2011]不重复数字(哈希表)
- 1297: [SCOI2009]迷路
- Javascript DOM操作实例
- 2431: [HAOI2009]逆序对数列
- JavaScript实例---表格隔行变色以及移入鼠标高亮
- 1022: [SHOI2008]小约翰的游戏John
- Javascript数组
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- log4go源码分析(一)
- java 面试杂记
- 面试:JVM 垃圾回收器
- 面试:集合:redis:kafka
- Java串口读卡器工具通信之RXTX
- 动态规划设计
- SpringBean 的实例化过程
- Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解
- WebService接口调试如此简单
- 嵌入式linux下的c语言简易日志log模块,带颜色显示(一)
- 嵌入式linux下的c语言日志log模块,功能增强(二)
- Spring IOC源码最全分析
- 嵌入式linux之go语言开发(六)几行代码实现终端的远程日志诊断
- spring-mybatis 整合分析
- Spring 中循环依赖是如何解决?