2016-05-11 19 views
0

我想爲Java中的以下CQL命令編寫QueryBuilder查詢。如何在Cassandra中編寫QueryBuilder查詢以獲取更新集合(Set)

UPDATE category_utility 
     SET imageurls = imageurls + {'http://image1.jpg','http://image2.jpg','http://image3.jpg'} WHERE category_title = 'cat1'; 

JAVA,我嘗試用這個下面。我不知道如何編寫在QueryBuilder命令中添加設置操作。

public void addImageList(ArrayList<String> list, int categoryId) { 
    Statement = QueryBuilder.update("category_utility").with(QueryBuilder.set("imageurls", list.toString())).where(QueryBuilder.eq("img_category_id", categoryId)); 
} 

回答

1

你想使用QueryBuilder.addAll(String, Set<?>),但該方法需要Set作爲參數,而不是ArrayList

所以,你需要修改方法如下:

public Statement addImages(Set<String> imageurls, int categoryId){ 
    return QueryBuilder.update("category_utility") 
      .with(QueryBuilder.addAll("imageurls", imageurls)) 
      .where(QueryBuilder.eq("img_category_id", categoryId)); 
} 
1

如果你看QueryBuilder類,有add,addAll和remove,removeAll方法來處理set更新。

相關問題