所有
flush要做的就是将以前缓存的SQL语句发送到数据库。它不会更改已在会话中的对象。在某种程度上,它的作用与您的需求相反。刷新产生的SQL语句可能会覆盖您的批量更新更改。你可能想要做的
flush(),然后
clear()你的更新之前。或者,如果您不想清除整个缓存,则
evict()。我从未尝试过,
refresh()但似乎也可以。

所有
flush要做的就是将以前缓存的SQL语句发送到数据库。它不会更改已在会话中的对象。在某种程度上,它的作用与您的需求相反。刷新产生的SQL语句可能会覆盖您的批量更新更改。你可能想要做的
flush(),然后
clear()你的更新之前。或者,如果您不想清除整个缓存,则
evict()。我从未尝试过,
refresh()但似乎也可以。