0

我在 Hibernate(通过接缝)返回一个似乎具有缓存值的命名查询时遇到问题。我的代码更改了单行中的单列,并使用新值对其进行了更新。我使用sQLQuery.executeUpdate()(在构建查询之后)并且可以在此之后确认数据库中的值已更新。

但是,在再次调用运行命名查询的方法后,查询不会返回新数据,而是返回与之前完全相同的结果。如果我对数据进行了足够的更改以使其返回一个额外的行,那么它将返回正确的数据(因为我假设它现在正在进入数据库)。

有谁知道我该如何追踪这个问题?我相信这是缓存,但不确定我需要驱逐什么?!我也尝试过使用hibernateSession.flush(),但这也不起作用。

4

0 回答 0