2014-10-03 228 views
1

我有这样的查询缓存。休眠查询缓存和二级缓存

JPAQuery dslQuery = new JPAQuery(entityManager); QReview qReview = QReview.Review; BooleanExpression where = QReview.review.id.in('123'); dslQuery.setHint("org.hibernate.cacheable", true); List<Review> reviews = dslQuery.from(qReview).where(where).distinct().list(qReview);

所有缓存paremeters是正确的设置,因此,我希望上面所列内容,即List<Review>将被缓存?

但是当我做reviewRepository.findOne('123');我可以看到数据库查询被解雇,而不是从缓存中取回ID 123。

注意:reviewRepository是一个标准的querydsl存储库。其中实现了CRUDRepository<Review,String>评论域模型具有Cacheable,Cache注释集。

感谢您的帮助提前。

回答

0

稍后,但它会帮助您发布缓存配置。

可能发生该缓存未启用或未正确配置。 这将不是第一次,所有的“正确”配置和缓存它没有使用一些错误的禁止参数。