我已经查看了很多关于 entityManager.flush()方法的主题。 在我的实践中,我总是使用 persist()和 commit()方法。
另外我发现有时 flush()会在 select 请求到数据库时自动执行,此时它会检查数据库的示例约束,以便持久化对象出错由于选择期间的约束,将抛出异常。
其实我想明白:
当你执行 flush()方法时,持久化数据会保存在数据库中吗?所以你不需要在 flush()之后做 commit()吗?
使用 flush()代替 commit()有什么好处,可能在某些具体情况下?
答案 0 :(得分:2)
感谢JB Nizet,现在有一些关于 flush()的清晰度。
以下是一些要点: