【发布时间】:2012-04-19 16:19:13
【问题描述】:
JPA 本质上是 JDBC 的更高抽象。 EntityManager 有一个 API setAutoFlushMode。它可以设置为 AUTO 或 COMMIT。用 JDBC 术语来说,这个等价物是什么? 谢谢
【问题讨论】:
JPA 本质上是 JDBC 的更高抽象。 EntityManager 有一个 API setAutoFlushMode。它可以设置为 AUTO 或 COMMIT。用 JDBC 术语来说,这个等价物是什么? 谢谢
【问题讨论】:
JDBC 也具有自动提交功能。
它们都用于配置库是否应自动提交到数据库。
JDBC 的自动提交非常简单,它会立即将每次更新提交到数据库。如果没有自动提交,则在调用 commit 方法之前不会提交更改。
JPA AUTO 会在执行查询之前刷新数据库。像 find 这样的简单操作不需要刷新,因为库可以处理搜索,但是查询会复杂得多,因此如果设置了 AUTO,它将首先刷新它。如果模式设置为 COMMIT,它只会在调用 commit 或 flush 时刷新对数据库的更改。如果设置了 COMMIT 并运行查询,则不会返回尚未刷新的结果。
【讨论】: