我已经在这个问题上挣扎了几个小时,可以帮忙。
我尝试了以下各种尝试来清除(),刷新()和flush()会话:
iterator.add()
但是,无论我尝试什么,我总是将客户端的值保存到数据库中。当我在<img src="..." class="img-responsive" alt="Responsive image">
之后添加断点时,我可以检查数据库值是否在那时没有更新,因此我知道如果我可以从DB加载实体,那么我将拥有我想要的值。
我感觉有点支持!
答案 0 :(得分:1)
我不知道我是否在这里得到了整个场景。那些经过修改的“entitiesFromClient”是否附加到Hibernate会话?如果是,则在您“驱逐”它们之前,更改可能会自动刷新到数据库。 设置MANUAL刷新模式可以帮助您避免自动行为。 首先,我将启用Hibernate SQL日志以更准确地查看正在发生的事情。请参阅Enable Hibernate logging。
如果此代码在事务中运行,则检查另一个会话中的数据库(在断点处停止时)将无济于事。即使更改已在数据库中刷新,在事务提交之前也不会看到它。