6

Java で dbf を使用してデータベース プログラムを開発しています。Java 側からデータベース レコードをロックする方法を知る必要があります。

cheques例: テーブルに 5 つのレコードを持つデータベース テーブルがあります ( record 15)。2 人のユーザーがいてuser-1user-2. user-1アクセスrecord 1し、同時にuser-2アクセスしようとします。がアクセスしている間、そのレコードにアクセスできないようrecord 1にロックしたい。Javaでこれを行うにはどうすればよいですか?record 1user-2user-1

4

3 に答える 3

4

MySQL の場合SELECT FOR UPDATE、レコードをロックするステートメントを使用できます。トランザクションが完了するかロールバックするまで、ロックは解放されません。詳細については、こちらをご覧ください。

于 2013-07-02T14:30:59.253 に答える
1

作業している環境によって異なります。コンテナ管理トランザクションの場合、コンテナがトランザクションを管理し、Lockmode を lockmode.write に設定するだけです。これが行うことは、userA がレコード 1 にアクセスしている間、クラス メソッドへのすべての書き込みアクセスをブロックすることです。一方、スタンドアロン アプリケーションの場合は、同期キーワードをメソッドに追加するだけで、同時アクセスを制御できます。これが役立つことを願っています。

于 2013-07-02T14:23:59.160 に答える