Получить всю строку с помощью ResultSet запроса CQL

Я установил соединение Cassandra через драйвер Java. И я хочу получить всю строку как коллекцию. Я хочу избавиться от использования 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);

}

person user123    schedule 20.11.2014    source источник
comment
поскольку строка в cassandra может содержать огромное количество столбцов (более миллиона), не всегда рекомендуется извлекать все значения) - поэтому, вероятно, этот вариант использования не поддерживается напрямую   -  person mschenk74    schedule 20.11.2014


Ответы (1)


Если вы хотите получить все поля в коллекции, вы можете использовать getMap(..), и вы получите карту с ключами и значениями.

С другой стороны, проверьте новое сопоставление объектов API начиная с версии 2.1, и вы можете сопоставить класс непосредственно из ResultSet с аннотациями в своем классе сущностей.

person gasparms    schedule 20.11.2014