Я пытаюсь установить функцию deleteAll, которая удаляет все документы, связанные с данным репозиторием и классом. Для этого я создал пользовательский запрос N1ql. Но я хочу, чтобы индекс Couchbase обновлялся до того, как последуют операции с базой данных. Я предполагаю, что мне нужно изменить уровень согласованности запроса для достижения такого поведения. Here и here Я нашел несколько примеров, которые делают это с помощью CouchbaseTemplate. Но мой шаблон равен null. Может ли кто-нибудь сказать мне, что я делаю неправильно?Определение согласованности запросов в Spring Data Couchbase
public void deleteAll() throws DBException {
CouchbaseOperations couchbaseTemplate;
try {
couchbaseTemplate = templateProvider.resolve(getRepository().getClass(), getClassName().getClass());
} catch (Exception e) {
throw new DBException("Could not get couchbase client", e);
}
String statement = String.format("DELETE FROM %s WHERE _class='%s'",
couchbaseTemplate.getCouchbaseBucket().name(), getClassName());
ScanConsistency consistency = couchbaseTemplate.getDefaultConsistency().n1qlConsistency();
N1qlParams queryParams = N1qlParams.build().consistency(consistency);
N1qlQuery query = N1qlQuery.simple(statement, queryParams);
N1qlQueryResult result = couchbaseTemplate.queryN1QL(query);
//Result handling
}
}
templateProvider
автосервис.