Сравнить и поменять местами: как сопоставить поле метаданных cas с сущностью документа моей базы
Я использую данные Spring для извлечения документов из couchbase, и мне нужно сопоставить проверку и установить поле метаданных cas для моего документа, чтобы реализовать оптимистическую блокировку.
Как я могу сделать это без использования n1ql запроса?
Спасибо
1 ответ
Решение
Я не Java-разработчик, но взглянул на документы Spring.io для Spring Data Couchbase:
Если вам нужна поддержка автоматической оптимистической блокировки, все, что вам нужно сделать, это добавить аннотацию @Version для длинного поля, например:
Пример 15. Документ с оптимистической блокировкой.
@Document public class User { @Version private long version; // constructor, getters, setters... }
Если вы загружаете документ через шаблон или репозиторий, поле версии будет автоматически заполнено текущим значением CAS.