gpt4 book ai didi

java - 如何在 cassandra 中为 list <-> java.util.List 匹配编解码器

转载 作者:行者123 更新时间:2023-11-29 08:39:47 25 4
gpt4 key购买 nike

我有一个专栏info map<text, frozen<list<text>>>在 Cassandra 。尝试通过以下代码在 java 中检索此 map 数据。

for (Row row : conn.getSession().execute("SELECT info FROM demo.variants where chr = '" +chr + "' and pos = " + pos)) {
Map<String, List> map = row.getMap("info", String.class, List.class);
System.out.println(map);
}

当这样做时,我得到了错误

com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [list<varchar> <-> java.util.List]

我不知道如何解决这个嵌套类型的编解码器异常。有什么方法可以解决?

最佳答案

我建议使用 TypeTokens.listOf(TypeToken) 创建 TypeToken<List<String>> 的实用方法并将其用作检索 map 的元素类型,即:

Map<String, List<String>> info = row.getMap("info", TypeToken.of(String.class), TypeTokens.listOf(String.class));

关于java - 如何在 cassandra 中为 list<varchar> <-> java.util.List 匹配编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41155475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com