获取Java Cassandra驱动程序中INSERT对象的值和列名称

时间:2017-10-27 01:47:36

标签: cassandra cql

我创建了一个Insert对象,如下所示:

Insert insert = QueryBuilder.insertInto("demo", "users");
insert.value("name", name);
insert.value("sport", "test");
insert.value("years", 2);
insert.value("vegetarian", true);

在我的代码中的其他地方,我需要获取与此INSERT对象关联的名称和值的列表。当我调试代码时,我可以看到两个"值"和"名字"包含我需要的信息的ArrayLists,但它们是私有的,我无法访问它们。

虽然insert.getObject(0);从值ArrayList获取对象,但我无法将值映射到列名。此外,insert.getValues(ProtocolVersion.V4, CodecRegistry.DEFAULT_INSTANCE);似乎序列化对象并将它们放入ByteBuffer中,这是不可取的。

1 个答案:

答案 0 :(得分:1)

我建议使用PreparedStatement& BoundStatement代替简单Insert。首先,如果要插入大量数据,可以获得更好的性能。第二 - 您将能够获得在预准备语句中定义的变量列表以及相关值