2012-05-15 5 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); 
     } 

Существуют ли способы, чтобы вставить аннулирует через Hector ? Если нет, то какова наилучшая практика в ситуации, когда вам не нужны значения столбцов и нужны только их имена?

ответ

3

Попробуйте использовать пустой байт [], то есть new byte[0];