有没有办法使用Astyanax创建和使用以下列族:
CREATE TABLE mytest ( id text, subid text, clustering text, static_value text static, value text, PRIMARY KEY((id, subid), clustering));
如果没有,静态列的最佳选择是什么?
答案 0 :(得分:0)
Astyanax Getting Started部分包含一个部分,介绍如何通过使用"序数"来标记关键字段来确保正确的序列化。关键字:
// Annotated composite class
Class SessionEvent{
private @Component(ordinal=0) String sessiondId;
private @Component(ordinal=1) UUID timestamp;
public SessionEvent() {
}
public int hashCode() { ... }
public boolean equals(Object o) { ... }
public int compareTo(Object o) { ... }
}
否则,Astyanax回购也有an example showing how to work directly with CQL3。创建你的CF:
String CREATE_STATEMENT = "CREATE TABLE mytest ( id text, subid text, clustering text, static_value text static, value text, PRIMARY KEY((id, subid), clustering))";
try {
@SuppressWarnings("unused")
OperationResult<CqlResult<Integer, String>> result = keyspace
.prepareQuery(EMP_CF)
.withCql(CREATE_STATEMENT)
.execute();
} catch (ConnectionException e) {
logger.error("failed to create CF", e);
throw new RuntimeException("failed to create CF", e);
}
上面的(CQL3)链接还包含演示读取和插入的示例方法。