问题陈述:-
我有一张名为的地图attributes
,它将在该地图中具有column names
和它的名称corresponding values
。
假设我有col1 to coln
inattributes map
及其对应的值。
然后我将使用所有列名及其值编写这样的代码 -
MutationBatch m = CassandraAstyanaxConnection.getInstance().getKeyspace().prepareMutationBatch();
m.withRow(CassandraAstyanaxConnection.getInstance().getEmp_cf(), userId)
.putColumn("col1", value1, null)
.putColumn("col2", value2, null)
.
.
.
.putColumn("coln", valuen, null)
;
现在我需要在下面的方法中做同样的事情,它有两个参数 -
userId and attributes
现在我不确定如何以这样一种方式编写上述代码,以便一次性检索所有列及其值。
下面是方法——
public void upsertAttributes(final String userId, final Map<String, String> attributes) {
MutationBatch m = CassandraAstyanaxConnection.getInstance().getKeyspace().prepareMutationBatch();
m.withRow(CassandraAstyanaxConnection.getInstance().getEmp_cf(), userId)
.putColumn(attributeName from attributesMap, attributeValue from attributesMap, null)
.putColumn(attributeName from attributesMap, attributeValue from attributesMap, null)
.putColumn(attributeName from attributesMap, attributeValue from attributesMap, null)
.
.
.
.putColumn(attributeName from attributesMap, attributeValue from attributesMap, null)
;
}