JPA本质上是JDBC的更高抽象。 EntityManager有一个API setAutoFlushMode。它可以设置为AUTO或COMMIT。在JDBC术语中,这相当于什么? 感谢
答案 0 :(得分:4)
JDBC也有自动提交。
它们都用于配置库是否应自动提交到数据库。
JDBCs auto-commit非常简单,它会立即提交对数据库的每次更新。如果没有自动提交,则在调用commit方法之前不会提交更改。
JPA AUTO在执行查询之前导致对数据库的刷新。像find这样的简单操作不需要刷新,因为库可以处理搜索,但是查询会复杂得多,因此如果设置了AUTO,它将首先刷新它。如果模式设置为COMMIT,它将仅在调用commit或flush时刷新对数据库的更改。如果设置了COMMIT,并且运行了查询,则不会返回尚未刷新的结果。