此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【leopard353】截止到2008-07-01 17:20:17的历史汇总数据(不包括此帖):
发帖数:4 发帖分:80
结贴数:4 结贴分:80
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
楼主【leopard353】截止到2008-07-01 17:20:17的历史汇总数据(不包括此帖):
发帖数:4 发帖分:80
结贴数:4 结贴分:80
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
也就是说:如果setCacheable(true)设置为true,那么list第一次查询的是数据库,然后填充缓存,
以后的查询就去直接去缓存里寻找 如果setCacheable(false)的话,list函数每次都是区数据库查询,然后填充缓存
不是一级缓存,是二级查询缓存,二级查询缓存是先到查询缓存里去找该条查询对应的value(一堆id),然后再根据value一条一条的去二级缓存的class级缓存去找只要不设置查询缓存,list每次都是去数据库直接加载
二级缓存是基于应用的,也就是基于sessionfactory的,所以你关闭session没用,不过可以强制清空缓存evict这里清空的是class级缓存,会导致n+1的问题,建议楼主找找相关资料好好看看