先在src目录下加入ehcache.xml文件:
在hibernate配置文件中或spirng管理hibernate类当中加入:
Dao中加入如下代码就能使用查询缓存了
Query q = this.getSession(false).createQuery(hql).setCacheable(true);
忘了补充一点:查询缓存是针对相同条件的查询和全体查询,而二级缓存是针对主键查询。
如果同时需要启动二级缓存又要启动查询缓存, 希望是同时同步的,如果不同步,假设只有二级缓存而没有查询缓存还可以,
但只有查询缓存没有二级缓存,hibernate会把查询结果再用主键查找一次,这样就加大了数据库的交互。