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 | DynamoDBMapper menambahkan 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 |