hibernate的缓存概述:
hibernate 一级缓存,即session缓存也叫事务级别的缓存;
hibernate 二级缓存,即sessionFactory也叫应用级别的缓存;
hibernate 三级缓存,即查询缓存。
一级缓存的生命周期和session的生命周期保持一致,hibernate默认就启用一级缓存,可以通过session.clrar()和session.evivt()来管理一级缓存。get、load、iterate都会使用一级缓存,一级缓存的是对象。
二级缓存的生命周期和sessionFactory生命周期保持一致,可以跨session,被多个session共享,hibernate默认开启二级缓存,也可以手动开启并指定缓存的插件,如 ehcache、oscache二级缓存只能缓存对象。
三级缓存也叫查询缓存,查询缓存是针对普通属性结果的缓存,对实体对象的结果集只缓存id。对query.list()起作用,query.iterate不起作用,也就是query.iterate不使用查询缓存。
仅供参考:感觉好,顶一下。谢谢老铁