0

JPA は本質的に JDBC のより高度な抽象化です。EntityManager には API setAutoFlushMode があります。AUTO または COMMIT に設定できます。JDBC用語でこれに相当するものは何ですか? ありがとう

4

1 に答える 1

4

JDBCには自動コミットもあります。

これらは両方とも、ライブラリがデータベースに自動的にコミットするかどうかを構成するためのものです。

JDBCの自動コミットは非常に単純で、データベースへのすべての更新をすぐにコミットします。自動コミットがないと、commitメソッドが呼び出されるまで変更はコミットされません。

JPA AUTOにより、クエリが実行される前にデータベースがフラッシュされます。ライブラリは検索を処理できるため、検索などの単純な操作ではフラッシュは必要ありませんが、クエリははるかに複雑になるため、AUTOが設定されている場合は、最初にフラッシュされます。モードがCOMMITに設定されている場合、コミットまたはフラッシュの呼び出し時にのみデータベースへの変更がフラッシュされます。COMMITが設定されていて、クエリが実行された場合、フラッシュされていない結果は返されません。

于 2012-04-05T22:44:53.217 に答える