使用带有 IN 查询的 cassandra-quarkus-mapper-processor

Using cassandra-quarkus-mapper-processor with IN-query

如何将 Quarkus 映射器处理器与带有 IN 的查询一起使用

我想用两个 IN 做一个 select,但我总是得到:

com.datastax.oss.driver.api.core.type.codec.CodecNotFoundException: Codec not found for requested operation: [INT <-> java.util.List<java.lang.Integer>]

当我 select 仅针对单个 column_two 和 column_three 时,它工作正常,而且我也可以 运行 直接在数据库上查询而没有问题。

示例:

@Select(customWhereClause = "column_one = :columnOne AND column_two IN (:columnTwoList) AND column_three IN (:columnThree)")
MutinyMappedReactiveResultSet<NotificationRecord> findByIds(Integer columnOne, List<Integer> columnTwoList, List<Integer> columnThree);

绑定声明看起来不正确 - 而不是 IN (:columnThree) 尝试 IN :columnThree。发生这种情况是因为当您绑定为 IN (:columnThree) 时,它期望 columnThree 是列表中的一个元素,而不是完整列表。