每次发出请求时,我都有一个基本上调用getSession().createCriteria(ObjClass.class).list();
的bean。第一次加载所有内容需要16秒,然后大约需要1秒左右。事实是,在单元测试缓存中工作得很好,但是当对bean发出多个请求时,它甚至从不使用缓存。问题是为什么?
信息:它是一个二级hibernate(3.5.x)缓存(2.0),其中org.hibernate.cache.HashtableCacheProvider
和查询级缓存使用率已打开。使用richfaces 3.3.3请求scoped bean并启用keep alive。
答案 0 :(得分:0)
如果您不使查询可缓存,则不会缓存它:
getSession().createCriteria(ObjClass.class)
.setCacheable(true)
.list();
您还可以设置缓存区域以进行更细粒度的配置。