hibernate缓存机制就是 已一种数据结构(hashmam)将你查询过的数据保存在内存中
当你下次再次查询的时候 hibernate首先会先到内存中的对应map中查看是否存在你要查找的值
如果有 直接取出来给你,没有再发sql 这些都是通过代理实现的
一级缓存 和二级缓存 本质区别就是 hibernate销毁内存中数据时间不同
2级缓存也称为session级别的缓存 数据和session同周期 当前session没有了缓存也没有了
1级缓存也称为factory级别的 时期较2级缓存长
理解了,望采纳!
hibernate的缓存包括session的缓存和sessionfactory的缓存,其中
sessionfactory的缓存又可以分为两类:内置缓存和外置缓存。session的缓
存是内置的,不能被卸载,也被称为hibernate的第一级缓存。
sessionfactory的内置缓存和session的缓存在实现方式上比较相似,前者是
sessionfactory对象的一些集合属性包含的数据,后者是指session的一些集
合属性包含的数据。sessionfactory的内置缓存中存放了映射元数据和预定义
sql语句,映射元数据是映射文件中数据的拷贝,而预定义sql语句是在
hibernate初始化阶段根据映射元数据推导出来,sessionfactory的内置缓存
是只读的,应用程序不能修改缓存中的映射元数据和预定义sql语句,因此
sessionfactory不需要进行内置缓存与映射文件的同步。sessionfactory的
外置缓存是一个可配置的插件。在默认情况下,sessionfactory不会启用这个
插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬
盘。sessionfactory的外置缓存也被称为hibernate的第二级缓存。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....