私は与えられたリポジトリとクラスに関連付けられているすべてのドキュメントを削除するdeleteAll関数を確立しようとしています。これを行うために、私はカスタムN1QLクエリを作成しました。しかし、後のデータベース操作が行われる前に、Couchbaseインデックスを更新する必要があります。私の推測では、この動作を達成するためにクエリの一貫性レベルを変更する必要があるということです。 Hereとhere私はCouchbaseTemplateを使ってこれを行ういくつかの例を見出しました。しかし、私のテンプレートはnullです。誰か私が間違っていることを教えてもらえますか?Springのデータ整合性を定義する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
は、自動で送信されます。