hibernate缓存概述

来源:互联网 发布:手机fps游戏显示软件 编辑:程序博客网 时间:2024/06/06 14:31

hibernate分为一级缓存即session缓存也叫事务级别的缓存以及二级缓存sessionFactory即应用级别的缓存,还有查询缓存即三级缓存.

一级缓存的生命周期和session的生命周期保持一致(hibernate默认就启用了一级缓存),不能将其关闭,可以通过session.clear()session.evict(object)来管理一级缓存。其中get,load,iterate都会使用一级缓存,一级缓存缓存的是对象。


二级缓存的生命周期和sessionFactory的生命周期保持一致,可以跨session,被多个session共享,hibernate3默认开启二级缓存,也可以手动开启并指定缓存插件如ehcache,oscache等。二级缓存也只能缓存对象。


三级缓存也叫查询缓存,查询缓存是针对普通属性结果集的缓存,对实体对象的结果集只缓存id。对query.list()起作用,query.iterate不起作用,也就是query.iterate不使用查询缓存

原创粉丝点击