Cassandra'da dinamik sorgular oluşturmak bir kod kokusu gibidir. Cassandra gerçekten "dinamik" sorgular için tasarlanmamıştır, ihtiyacınız olan belirli sorgu modellerine dayalı tablolar tasarlamalısınız. Dinamik sorgulamalar hızlıca dağınık olabilir çünkü Cassandra'da WHERE maddesinin kurallarına uyduğunuzdan emin olmanız gerekir, böylece İZİN FİLTRELEME kullanmak zorunda kalmazsınız.
//build your generic select
Select select = QueryBuilder.select().all().from("test");
List<Clause> whereClauses = new ArrayList<>();
/*
* Generate Clauses based on a value not being null. Be careful to
* add the clustering columns in the proper order first, then any index
*/
if(col1 != null) {
whereClauses.add(QueryBuilder.eq("col1Name", "col1Val"));
}
if(col2 != null) {
whereClauses.add(QueryBuilder.eq("col2Name", "col2Val"));
}
// Add the Clauses and execute or execute the basic select if there's no clauses
if(!whereClauses.isEmpty()) {
Select.Where selectWhere = select.where()
for(Clause clause : whereClauses) {
selectWhere.and(clause);
}
session.execute(selectWhere)
} else {
session.execute(select)
}
:
Neyse işte uygulamanız için uygun olup olmadığını size bunun nasıl bir fikir vermelidir bazı hızlı kod