来自Hibernate 文档:
刷新是将底层持久存储与保存在内存中的持久状态同步的过程。
好吧,对于一些在阅读上述声明后可能会想到下一个问题(例如,flush和commit之间的区别是什么)的人来说,上述声明令人困惑。
Flush就像实际执行语句但不提交它。例如:您打开任何 SQL 执行工具(如 Oracle SQL Developer 或其他),打开会话并触发更新语句。打开新的 SQL 会话,直到或除非您在第一个会话中进行提交,否则您将不会看到更新。因此查询在特定的 Oracle 会话中执行但未提交。
当您调用 Hibernate 的save()or 时update(),并不意味着同时执行底层查询。它通常在显式commit完成或在事务结束时执行。但是在某些情况下(例如获取分配给瞬态对象的 ID,控制 Hibernate 会话的大小,如批量更新,否则您可能会遇到内存不足异常),您希望执行查询,但不提交查询。冲洗在这里有帮助。
| 归档时间: |
|
| 查看次数: |
9994 次 |
| 最近记录: |