Сравнить и поменять местами: как сопоставить поле метаданных cas с сущностью документа моей couchbase

Я использую данные Spring для извлечения документов из couchbase, и мне нужно сопоставить проверку и установить поле метаданных cas с моим документом, чтобы реализовать оптимистичную блокировку.

как я могу это сделать без использования запроса n1ql?

Ссылка на CAS в Couchbase

Спасибо


person Lho Ben    schedule 28.01.2019    source источник
comment
Технически CAS означает сравнение и обмен в Couchbase (документация иногда противоречива)   -  person Matthew Groves    schedule 29.01.2019


Ответы (1)


Я не разработчик Java, но смотрю на Spring .io документы для Spring Data Couchbase:

Если вам нужна поддержка автоматической оптимистической блокировки, все, что вам нужно сделать, это добавить аннотацию @Version в длинное поле, например:

Пример 15. Документ с оптимистической блокировкой.

@Document
public class User {

        @Version
        private long version;

        // constructor, getters, setters...
}

Если вы загружаете документ через шаблон или репозиторий, поле версии будет автоматически заполнено текущим значением CAS.

person Matthew Groves    schedule 29.01.2019