CQL Datastax Java 映射集/列表查询操作

问题描述 投票:0回答:2

嗨,我目前正在尝试设置我的 CQL Dao 以实现一些查询功能, 但是我找不到一种方法将任何对象的集合作为参数,因为我不断收到编解码器的此错误:

Codec not found for requested operation: [TEXT <-> java.util.List<java.lang.String>]

我尝试使用这个但它不起作用:

@Select(customWhereClause = "labels CONTAINS :labels", perPartitionLimit = "1")
fun dependenciesByLabels(@CqlName("labels") labels: Collection<String>): PagingIterable<Dependency>
cassandra orm datastax codec
2个回答
0
投票

您可能需要为您的集合定义一个编解码器,这里有一些示例: https://docs.datastax.com/en/developer/java-driver/3.5/manual/custom_codecs/#creating-custom-codecs-for-user-define-types-ud-ts 如果这没有帮助,请包含您的集合/类型定义。


0
投票
Codec not found for requested operation: [TEXT <-> java.util.List<java.lang.String>]

因此,此错误消息意味着您正在尝试将定义为

TEXT
(UTF 字符串)的列映射到 Java
List<String>

看起来您确实在应用程序端使用了集合,因此我会检查表定义并确保该列被定义为

List<TEXT>

© www.soinside.com 2019 - 2024. All rights reserved.