Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perbedaan penguncian optimis antara versi 1 dan versi 2 dari SDK for Java
Baik V1 dan V2 menerapkan penguncian optimis dengan anotasi atribut yang menandai satu properti di kelas kacang Anda untuk menyimpan nomor versi.
| V1 | V2 | |
|---|---|---|
| Anotasi kelas kacang | @DynamoDBVersionAttribute |
@DynamoDbVersionAttribute(perhatikan bahwa V2 menggunakan huruf kecil “b”) |
| Simpan awal | Atribut nomor versi disetel ke 1. |
Nilai awal untuk atribut versi ditetapkan dengan |
| Perbarui | Atribut nomor versi bertambah 1 jika pemeriksaan bersyarat memverifikasi bahwa nomor versi objek yang diperbarui cocok dengan nomor dalam database. |
Atribut nomor versi bertambah jika pemeriksaan bersyarat memverifikasi bahwa nomor versi objek yang diperbarui cocok dengan nomor dalam database. Atribut nomor versi ditambah dengan |
| Hapus | DynamoDBMappermenambahkan pemeriksaan bersyarat bahwa nomor versi objek yang dihapus cocok dengan nomor versi dalam database. |
V2 tidak tidak secara otomatis menambahkan kondisi untuk operasi penghapusan. Anda harus menambahkan ekspresi kondisi secara manual jika Anda ingin mengontrol perilaku hapus. Dalam contoh berikut
|
| Tulis Transaksional dengan Pemeriksaan Kondisi | Anda tidak dapat menggunakan kelas kacang yang dianotasi dengan @DynamoDBVersionAttribute metode. addConditionCheck |
Anda dapat menggunakan kelas kacang dengan @DynamoDbVersionAttribute anotasi dalam metode addConditionCheck pembangun untuk transactWriteItems permintaan. |
| Nonaktifkan | Nonaktifkan penguncian optimis dengan mengubah nilai
DynamoDBMapperConfig.SaveBehavior enumerasi dari ke. UPDATE CLOBBER |
Jangan gunakan |