2012-05-15 24 views
4

Cassandra經常使用的情況是將數據存儲在動態創建的列族的列名中。在這種情況下,行值本身是不需要的,通常的做法是在那裏存儲空值。 然而,赫克託打交道時,似乎沒有辦法插入空值,因爲赫克託HColumnImpl不明確的空檢查列的構造函數:Cassandra Hector:如何將null作爲列值插入?

public HColumnImpl(N name, V value, long clock, Serializer<N> nameSerializer, 
     Serializer<V> valueSerializer) { 
     this(nameSerializer, valueSerializer); 
     notNull(name, "name is null"); 
     notNull(value, "value is null"); 

     this.column = new Column(nameSerializer.toByteBuffer(name)); 
     this.column.setValue(valueSerializer.toByteBuffer(value)); 
     this.column.setTimestamp(clock); 
     } 

是否有通過赫克託插入空任何方式?如果不是,那麼當你不關心列值並只需要他們的名字時,最好的做法是什麼?

回答

3

嘗試使用空字節[],即new byte[0];