データベース内の特定のフィールドが多くのユーザーによって同時に編集される Web サイトを作成しています (すべてのユーザーが同じ編集を行っていると仮定します)。どうすればこれに対処できますか?編集が正常に完了したという通知を受け取るために必要なユーザーは 1 人だけです。
質問する
138 次
2 に答える
3
テーブル内のバージョン番号を使用し、正しいバージョンを確認します。それ以外の場合は例外がスローされ、データが更新されたことを示すユーザー メッセージが表示され、最新のデータが表示されます
于 2012-06-13T04:33:30.297 に答える
2
これは、多くの可能な解決策がある複雑な問題です。基本的に、テーブルをロックするか、同時更新を検出する方法が必要です。これを行うための一般的な手法は、テーブルにバージョン データを追加することです。更新のたびに、最初に DB から取得されたときのデータのバージョンと現在のデータのバージョンを確認します。それらが異なる場合は、更新プロセス中に他の誰かがデータを変更したことがわかります。
Hibernate のようなプロジェクトでは、この一部を自動化できるため、これを使用してテーブルのバージョン管理を実装することを検討する必要があります。
于 2012-06-13T04:37:19.907 に答える