以下问题:
我创建一个查询来显示MYSQL表的所有条目,如果我编辑一个字段并再次执行查询,我会得到与第一个查询相同的(旧)结果。
似乎Hibernate缓存了Result。我试图用
禁用缓存query.setCachable(假)
“hibernate.cache.use_second_level_cache”
“cache.provider_class”
“org.hibernate.cacheable”
刷新并关闭会话
但没有任何作用
答案 0 :(得分:4)
答案 1 :(得分:2)
可能是您从未保存或更新已更改的条目进入休眠状态吗?当缓存返回错误的结果时,通常表明其他错误。
答案 2 :(得分:1)
它与第二或查询缓存无关,默认情况下已禁用这些缓存!在您的情况下可能有用的是调用session.refresh(yourEntity)
,以便hibernate重新读取您的实体的状态。