首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

浮浅理解hibernate缓存

2012-10-31 
肤浅理解hibernate缓存hibernate 二级缓存的如何配置在这里就不概述了,包括使用第三插件ehCache,osCache..

肤浅理解hibernate缓存
hibernate 二级缓存的如何配置在这里就不概述了,包括使用第三插件ehCache,osCache..
在这里我要讲的是关于应用缓存的时候遇到的一些问题。
get方法是不会走缓存的,会直接命中数据库,所以每次都会发sql

不用如果 缓存的就是返回对象的主键ID
hibernate会根据这些ID 去二级缓存中取对应的数据

一个HQL查询 from User u where id < 50
返回结果有两条 ID 分别是5和10
那么查询缓存的就是5和10

但当这个对象(表)有了更新后 插入的新的数据(比如id=30)
原本的hql查询出来的结果 也就(也应该)有了变化 为5、10、30

而hibernate很难判断新插入或者更新数据 对HQL查询缓存的影响
正是因为这个原因 所以只要有更新 查询缓存都全部失效

所以我说 查询缓存不会出现"数据不同步"的问题
我之前跟帖 也都是围绕了这个在讲
不知仁兄对此有何疑义?
52 楼 lirong1978 2009-11-13      我都不知道缓存有什么用

热点排行