0

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() メソッドを使用する必要がありますか? デフォルトはマップのキー値ですか? マップ内のすべての値を返したい場合はどうすればよいですか? ありがとう。

4

1 に答える 1