如果数据库中的数据为空,则hibernate查询缓存不工作

如果数据库中的数据为空,则hibernate查询缓存不工作,hibernate,hazelcast,Hibernate,Hazelcast,我正在使用Hibernate和二级缓存机制。我遇到过这样一种情况:如果数据库表中的数据为空,二级缓存将不工作,每次调用都会转到数据库,因为它在二级缓存中找不到。是行为还是bug?这是缓存的行为。即使数据库中有数据,若在二级缓存中找不到数据,调用也将转到数据库。没什么问题 如果请求的数据包含在高速缓存中(高速缓存命中),则只需读取高速缓存即可满足该请求,这相对更快。否则(缓存未命中),数据必须重新计算或从其原始存储位置获取,这相对较慢 检查。第一段本身将说明这一点

我正在使用Hibernate和二级缓存机制。我遇到过这样一种情况:如果数据库表中的数据为空,二级缓存将不工作,每次调用都会转到数据库,因为它在二级缓存中找不到。是行为还是bug?

这是缓存的行为。即使数据库中有数据,若在二级缓存中找不到数据,调用也将转到数据库。没什么问题

如果请求的数据包含在高速缓存中(高速缓存命中),则只需读取高速缓存即可满足该请求,这相对更快。否则(缓存未命中),数据必须重新计算或从其原始存储位置获取,这相对较慢

检查。第一段本身将说明这一点