Astyanax を使用してマップ列の型にアクセスしようとしています。例から、私は以下を取り上げました。行をループしており、データ型 MAP を持つ列 storename を除くすべての列からデータを取得できます。オブジェクトにデータを取得するには、マップの要素をループする必要があると思いますが、列からマップ データを取得する方法がわかりません。
column.getValue を試していますが、getByteBuffer を試しましたが、どちらも機能しません。列オブジェクトを取得でき、ColumnMap インターフェイスがあることがわかりますが、それを拡張または使用するオブジェクトにデータを取得する方法がわかりません。MapSerializer インターフェースも表示されますが、それを実装する方法もわかりません...
List<Store> stores = new ArrayList<Store>();
for (Row<Integer, String> row : result.getResult().getRows()) {
Store store = new Store();
ColumnList<String> columns = row.getColumns();
store.setStoreID(columns.getStringValue("store_id", null));
store.setShopName(columns.getStringValue("shopname", null));
// lost trying to get the columns Map data here
// should I loop the map or pass the data straight to my store object as a map?
// How do I access the map data in this column?
for ( Map<String, String> map : columns.getValue("storename", imap, result).getResult() )
{
store.setStoreNames( "lang", "storename");
}
stores.add(store);
}
getValue() は、2 番目の引数としてシリアライザーを使用し、3 番目の引数としてデフォルトを使用するため、少し混乱しています。MapSerializer を 2 番目の引数として渡すにはどうすればよいですか、または getValue() メソッドを使用する必要がありますか? デフォルトはマップのキー値ですか? マップ内のすべての値を返したい場合はどうすればよいですか? ありがとう。