hibernateSession.createQuery("选择 foo,其中 id = 1");
//该命令返回 id 为 1 的 Item。
//[BREAK POINT STOP] ==> 我进入 MySQL 并手动删除此项。
//[断点继续]
hibernateSession.createQuery("选择 foo,其中 id = 1");
//该命令也返回 id 为 1 的项目! :-(
与 hibernateSession.flush()/hibernateSession.clean() 相同
我想我没有很好地使用我的 hibernate 缓存...
最佳答案
第一个查询将将该对象加载到 hibernate session 中。 您删除数据库中的行不会产生任何影响,因为您正在使用相同的 session 。
您需要开始一个新 session 或 evict session 中的对象。
关于java - Hibernate - 更新/选择后的结果相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888632/