【问题标题】:Retrieve the entire row with ResultSet of a CQL query使用 CQL 查询的 ResultSet 检索整行
【发布时间】:2014-11-20 17:24:41
【问题描述】:

我已经通过 Java 驱动程序建立了 Cassandra 连接。我想检索一整行作为一个集合。我想总是摆脱使用 getString() 或 getInt() 。当我给出一个查询说使用 CQL 选择用户表中的所有列时。整个结果应该被发送到一个集合而不是一个字符串。我如何做到这一点?

我已执行以下操作来检索列。它给了我正确的结果。但我想将整行检索为一个集合。 在 for 循环之外,我想将这些字段作为一个对象检索。我该怎么做??

String name=null;
String age=null;

ResultSet results = session.execute("SELECT * FROM admin.users");
for (Row row : results) {
 name=row.getString("firstname");
age=row.getString("age");
System.out.println("name::"+name);
System.out.pintl("age::"+age);

}

【问题讨论】:

  • 由于 cassandra 中的一行可能包含大量列(超过一百万),因此获取所有值并不总是一个好主意)-因此可能不直接支持此用例跨度>

标签: java cassandra cql


【解决方案1】:

如果您想获取集合中的所有字段,可以使用getMap(..) 函数,您将获得包含键和值的 Map。

另一方面,检查新的object Mapping API 自 2.1 版以来,您可以直接从 ResultSet 映射一个类,并在您的实体类中添加注释。

【讨论】:

    猜你喜欢
    • 2013-05-28
    • 2020-02-04
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多