Lucasが提案したように、エンティティが変更されるたびに他の接続されたユーザーに「プッシュ」される「プッシュ」スタイルのシステムを実装できます。これは少し複雑になる可能性があります。レガシーシステムでこれを処理する方法は、[番号の変更]列を使用することですが、実際には、レコードが変更されるたびに更新されるものであれば何でもかまいません。
ユーザーがエンティティを変更しようとすると、データベースにクエリを実行して、そのエンティティを行ロックします。「変更番号」は、ユーザーが現在持っている「変更番号」を反映しています。
ロックが成功すると、ユーザーはエンティティを更新/削除できます。それらが完了すると、エンティティの「保存/コミット」と「番号の変更」が増加します。
彼らが行ロックを取得できず、「変更番号」が同じである場合、彼らが要求したエンティティが別のユーザーによって使用されているというメッセージが表示されます。 「変更番号」が異なる場合、メッセージには、ビューを更新する必要があることが示されます。