複数のアプリケーションで共有されているデータベースがあるとします.1つのアプリケーションは永続性のためにORMベースのアプローチ(休止状態など)を使用し、別のアプリケーションは永続性のためにsqlを使用します.両方ともデータベースに書き込み操作を行います.
オプティミスティック ロック オプションを使用する場合、どうすれば同時実行制御を保証できますか? データが SQL を使用して挿入される場合、Hibernate は永続オブジェクトを自動的に同期します
複数のアプリケーションで共有されているデータベースがあるとします.1つのアプリケーションは永続性のためにORMベースのアプローチ(休止状態など)を使用し、別のアプリケーションは永続性のためにsqlを使用します.両方ともデータベースに書き込み操作を行います.
オプティミスティック ロック オプションを使用する場合、どうすれば同時実行制御を保証できますか? データが SQL を使用して挿入される場合、Hibernate は永続オブジェクトを自動的に同期します
SQL を使用するアプリは、楽観的ロックを手動で行うことができます。以下に説明します。
Hibernate を使用するアプリは、他のアプリによって新しく挿入されたオブジェクトを認識しませんが、古いデータをロード更新して他のアプリと競合する場合に例外をスローできます。HIbernate はこの方法 (楽観的ロック) を使用して、他のユーザーによって以前にロードおよび更新された古いデータの更新を保護します。
verion プロパティを使用して手動で楽観的ロックを使用できます。
update table1 set name='new name', version=version+1 where version=versionLoadedBeforeUpating and id=1234;