0

Hibernate は autocommit を自動的に false に設定し、実際には true に設定しないことを推奨しています。

単一のデータベース コマンドに対して autocommit を true に設定する必要があることに気付きました (「VACUUM」を postgresql データベースに送信したいので、autocommit を true に設定する必要があります)。他のすべての場合は false。

単一のセッションの自動コミット設定をプログラムで変更する方法が見つからないようです。

-- この 1 つの操作に対して別の Configuration/SessionFactory が必要ですか??

ありがとう。

4

1 に答える 1

1

autocommit を false のままにしておくことをお勧めしますが、VACUUM のセッターを使用し、セッターの最後で sessionManager.save(this) を呼び出します (その時点で SessionManager ハンドルを取得できると仮定します)。VACUUM の AccessType を AccessType.PROPERTY ではなく AccessType.FIELD にしてください。そうしないと、不要なデータベース クエリが発生します。

于 2013-06-23T06:13:13.407 に答える