Hibernate缓存不能与RichFaces bean一起使用

时间:2012-01-16 15:20:06

标签: java hibernate jsf caching richfaces

每次发出请求时,我都有一个基本上调用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。

1 个答案:

答案 0 :(得分:0)

如果您不使查询可缓存,则不会缓存它:

getSession().createCriteria(ObjClass.class)
            .setCacheable(true)
            .list();

您还可以设置缓存区域以进行更细粒度的配置。