hibernateSession.createQuery(“ select foo,其中id = 1”);
//此命令返回ID为1的商品。

// [BREAK POINT STOP] ==>我进入MySQL,然后手动删除了该项目。
// [BREAK POINT CONTINU]

hibernateSession.createQuery(“ select foo,其中id = 1”);
//此命令也返回ID为1的商品! :-(

与hibernateSession.flush()/ hibernateSession.clean()相同
我想我不太好使用我的休眠缓存...

最佳答案

第一个查询将已将该对象加载到休眠会话中。
由于您正在使用同一会话,因此删除数据库中的行不会产生任何影响。

您要么需要启动一个新会话,要么从该会话中evict对象。

关于java - hibernate -更新/选择后的结果相同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/888632/

10-10 07:00