翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SDK for Java のバージョン 1 とバージョン 2 の楽観的ロックの違い
V1 と V2 の両方で、Bean クラス内の 1 つのプロパティにバージョン番号を保存するための属性アノテーションを付与することで、楽観的ロックが実装されています。
| V1 | V2 | |
|---|---|---|
| Bean クラスの注釈 | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute (V2 は小文字の「b」を使用することに注意してください) |
| 初期保存 | 1 に設定されたバージョン番号属性。 |
|
| 更新 | 更新されるオブジェクトのバージョン番号がデータベース内の番号と一致することが条件チェックで検証されると、バージョン番号属性が 1 ずつ増加します。 |
更新されるオブジェクトのバージョン番号がデータベース内の番号と一致することが条件チェックで検証されると、バージョン番号属性が増加します。
|
| 削除 | DynamoDBMapper は、削除されるオブジェクトのバージョン番号がデータベースのバージョン番号と一致するという条件付きチェックを追加します。 |
V2 は、削除オペレーションの条件を自動的に追加しません。削除動作を制御する場合は、条件式を手動で追加する必要があります。 次の例では、
|
| 条件チェックによるトランザクション書き込み | addConditionCheck メソッドで @DynamoDBVersionAttribute によって注釈が付けられた Bean クラスを使用することはできません。 |
transactWriteItems リクエストの addConditionCheck ビルダーメソッドでは @DynamoDbVersionAttribute 注釈が付いた Bean クラスを使用できます。 |
| Disable (無効) | 楽観的ロックを無効にするには、
DynamoDBMapperConfig.SaveBehavior 列挙値を UPDATE から CLOBBER に変更します。 |
|