2014-10-03 171 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

稍後,但它會幫助您發佈緩存配置。

可能發生該緩存未啓用或未正確配置。 這將不是第一次,所有的「正確」配置和緩存它沒有使用一些錯誤的禁止參數。