我在从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之后,大小相同,因此实体肯定在缓存中
谢谢。