如何强制Hibernate查看二级缓存

时间:2016-10-07 07:41:17

标签: java hibernate spring-boot spring-data-jpa ehcache

我在从Hibernate二级缓存中检索数据时遇到问题。

第二级缓存正在运行。

当我打电话给你时

@QueryHints({@QueryHint(name = "org.hibernate.cacheable", value = "true")})
List<T> findAll(Specification<T> spec);

实体保存在缓存中,在下一次调用中,它从缓存中检索。 有ID为1,2,3,4 ......的实体。

但是当我打电话时

@QueryHints({@QueryHint(name = "org.hibernate.cacheable", value = "true")})
T findOne(Specification<T> spec);

已经在二级缓存中的实体未从此缓存中检索到。

有没有办法告诉hibernate他已经在缓存中有这个实体?

注意:当我调用findAll时,第二级cachce的大小为44个实体,并且在调用findOne之后,大小相同,因此实体肯定在缓存中

谢谢。

0 个答案:

没有答案