Извличане на целия ред с 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