在春季启动中将List <Map <String,String >>映射到cassandra List <frozen <map <text,text >>>以进行分页搜索查询

时间:2019-11-13 13:53:49

标签: java spring spring-boot cassandra

这个问题可能看起来很重复,但是我没有找到任何准确的解决方案。我的cassandra表中有一个字段“ files”,其数据类型为list<frozen<map<text, text>>>。在我的春季靴子模型课中,它的吸气剂和吸气剂是

  

private List<Map<String, String>> files;

// Getter
public List<Map<String, String>> getFiles() {
    return files;
}


// Setter
public void setFiles(List<Map<String, String>> files) {
    this.files = files;
}

当我执行查询以从数据库中获取记录时,出现此错误。

org.springframework.data.cassandra.CassandraUncategorizedException: Codec not found for requested operation: [map<varchar, varchar> <-> java.util.Map]; nested exception is com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [map<varchar, varchar> <-> java.util.Map]

我知道这里有一个解决方案Mapping cassandra list<frozen<list<int>>> field to Java in spring-data-cassandra

但是我必须在弹簧靴中进行分页,但没有找到合适的解决方案。 我的卡桑德拉分页查询是

  

选择选择=   QueryBuilder.select()。from(cassandraTemplate.getTableName(Info.class).toString())   select.where(QueryBuilder.eq(“ id”,Id))。setFetchSize(fetchSize);

     

切片messageHistorySlice = cassandraTemplate.slice(语句,   ENTITY_CLASS);列出messageHistoryList =   messageHistorySlice.getContent();

....

所以,有没有办法将地图放入codecRegistry或我可以使用分页进行搜索查询的任何其他方式。

预先感谢

0 个答案:

没有答案