Добрый день
У меня есть эта таблица, созданная на моей cassandra 2.0, я пытаюсь читать и писать с ней, используя astyanax, но, к сожалению, я действительно новичок в cassandra и java
create table requestformatlist (
usedbyid text, // rowkey
rfid text , // rfid
keystoadd Set<text>,
keystoremove Set<text>,
primary key (usedbyid, rfid) );
содержимое таблицы
gid | rfid | keystoadd | keystoremove
------+------+----------------------------------+----------------------------
1111 | 1111 | {'AddMe1', 'AddMe2'} | {'RemoveMe1', 'RemoveMe2'}
0003 | 0003 | {'address', 'name', 'state'} | {'z1', 'z2', 'z3'}
Я прочитал это, но, к сожалению, я запутался, зачем нам две записи, если мы хотим добавить только одну строку
http://brianoneill.blogspot.com/2012/09/composite-keys-connecting-dots-between.html http://brianoneill.blogspot.com/2012/10/cql-astyanax-and-compoundcomposite-keys.html
у меня есть astyanaxdao, и я могу подключиться к нему, но не могу читать и писать в него
у меня есть следующий код
public void testRead() throws Exception {
RequestFormatDAO dao = new RequestFormatDAO("localhost:9160", "l2");
log(dao.read("0003"));
}
public ColumnList<RequestFormatListEntry> read(String rowKey) throws ConnectionException {
OperationResult<ColumnList<RequestFormatListEntry>> result = this.getKeyspace().prepareQuery(COLUMN_FAMILY).getKey(rowKey)
.execute();
ColumnList<RequestFormatListEntry> requestFormat = result.getResult();
LOG.debug("Read list [" + rowKey + "]");
return requestFormat;
}
public class RequestFormatListEntry {
@Component(ordinal = 0)
public String rfid;
@Component(ordinal = 1)
public String field1;
public RequestFormatListEntry(){}
}
Результаты, которые у меня есть при чтении:
Read list [0003]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[null]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoadd]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoadd]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoadd]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoremove]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoremove]
listEntry.rfid=>[0003]
listEntry.keystoremove=>[keystoremove]