Кодек не найден для запрошенной операции: [frozen <ynapanalyticsteam.ynapnestedmap> <-> java.util.Map <java.lang.String, java.lang.String>] - PullRequest
0 голосов
/ 06 мая 2018

Я работаю над поиском данных в Cassandra с использованием драйвера Java.

У меня есть пользовательский тип данных

CREATE TYPE ynapanalyticsteam.ynapnestedmap (
so_nestedmap map<text, text>

);

И сопоставлен тип столбцакак показано ниже

order_line map<text, frozen<ynapnestedmap>>

Я пытаюсь получить значение этого столбца, используя TypeToken, как показано ниже.

row.getMap("order_line", TypeToken.of(String.class), new TypeToken<Map<String,String>>() {});

Но я все еще получаю исключение codecNot found.

1 Ответ

0 голосов
/ 06 мая 2018

Вам нужно определить кодек для вашего вложенного пользовательского типа, а не для Map<String, String> - это разные типы ...

Документация для драйвера java содержит хорошее описание этого процесса.

Код, который вы пытаетесь использовать, будет работать для определения столбца, например:

order_line map<text, frozen<map<text, text>>>
...