Java 休眠禁用查询缓存

Java 休眠禁用查询缓存,java,mysql,hibernate,caching,Java,Mysql,Hibernate,Caching,以下问题: 我创建一个查询来显示MYSQL表的所有条目,如果我编辑一个字段并再次执行该查询,我将得到与第一个查询相同的(旧的)结果 似乎Hibernate会缓存结果。我试图禁用缓存 query.setcacable(false) “hibernate.cache。使用第二级缓存” “缓存.提供程序\u类” “org.hibernate.cacheable” 刷新并关闭会话 但是什么都不起作用我想你想要的配置是 hibernate.cache.use_query_cache = false .是

以下问题:

我创建一个查询来显示MYSQL表的所有条目,如果我编辑一个字段并再次执行该查询,我将得到与第一个查询相同的(旧的)结果

似乎Hibernate会缓存结果。我试图禁用缓存

query.setcacable(false)

“hibernate.cache。使用第二级缓存”

“缓存.提供程序\u类”

“org.hibernate.cacheable”

刷新并关闭会话


但是什么都不起作用

我想你想要的配置是

hibernate.cache.use_query_cache = false

.

是否您从未将更改的条目保存或更新为hibernate?当缓存返回错误的结果时,通常表示其他地方有问题。

这与第二缓存或查询缓存无关,默认情况下这些缓存已被禁用!在您的情况下,调用
session.refresh(yourEntity)
,以便hibernate重新读取您的实体状态可能会有所帮助。

我手动更改了表中的字段,并将其提交给您,以便用代码更新您的问题,或者至少是与编辑和更新条目相关的片段?我不明白你尝试了什么(像你那样抛出一堆选项是非常不清楚的)。另外,我还想查看查询;query.setCacheable(false);列表栏=query.List();在第一次调用时,我获取表的条目,然后手动编辑一些字段,如果我再次调用该函数(例如通过刷新/重新加载),我会得到与以前相同的结果。更改对象后是否保存?是否涉及事务?好的,我忘记提交事务这意味着查询缓存根本不是您的问题