当前位置: 首页 > 知识库问答 >
问题:

spring-data-cassandra,Cassandra将列表存储为字段

哈烨熠
2023-03-14

我有问题将列表字段存储为cassandra数据库中我的表的字段。

我使用的是spring-数据-卡桑德拉,版本1.4.1,发布版。

我的模型包含:

@Column
@CassandraType(type = DataType.Name.LIST)
private List<Integer> somedata;

我想用SchemaAction自动创建我的db表。配置类中的recreate_drop_unused架构操作:

@Override
public SchemaAction getSchemaAction() {
    return SchemaAction.RECREATE_DROP_UNUSED;
}

它尝试创建表,但发生以下异常:

Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: expected 1 of typed arguments for the property  'somedata' type is 'interface java.util.List' in the entity <my class here>

共有1个答案

甘永春
2023-03-14

好的,在挖掘了spring-数据-卡桑德拉后找到了解决方案来源:

@CassandraType(type = DataType.Name.LIST, typeArguments = { DataType.Name.FLOAT } )
private List<Float> position;

您需要添加typeArguments,以指定泛型类型的DataType。当传递无效数量的typeArguments时,将引发所述异常。在我的情况下,有0和1是必需的。

@column注释在这里被证明是不需要的。

 类似资料:
  • 有人能给我指出一个字段声明的如何在spring-数据-卡桑德拉中映射回Java。我可以简单地通过保存数据,但当从数据库读取数据时不起作用,会弹出一个未找到编解码器的异常。 非常感谢帮助。

  • Spring Data Cassandra 可以大大降低使用 Cassandra 开发的学习曲线。Spring Data Cassandra 既可以和标注的 POJOS 保持在高层次,也可以在低层次维持高性能数据采集能力,它可以符合各种程序的要求。 特性: 基于 Spring Data 界面创建仓库 支持同步和异步数据操作 支持异步回调 支持基于 XML 的密钥空间创建和 CQL 列表创建

  • 启动spring boot application my spring boot application spring boot version 2.2.4和cassandra version spring-data-cassandra 3.0.1时出现此错误

  • 有人知道如何在Spring Data Cassandra中实现分页吗? 我已经尝试了所有可能的方法来实现表的分页。其中一个stackoverflow答案说它不是直接提供的。在Spring Boot应用程序中对Cassandra中的SELECT查询结果进行分页 根据文档(https://docs.spring.io/spring-data/cassandra/docs/current-snapsho

  • 我不明白如何使用Spring Data Cassandra实现非常简单的目标。 我想用不同的参数值多次执行“INSERT”语句。我目前没有映射域类,所以我使用SpringData提供的接口。 当我使用<代码>执行(字符串cql,对象...args),Cassandra驱动程序抱怨“重新准备已经准备好的查询通常是一种反模式,可能会影响性能。考虑只准备一次语句”。因为Spring数据使用< code

  • 问题内容: 我正在一个项目中,我们有一个我们要保留的字段类型为LocalDateTime的实体,我们知道cassandra不支持这种类型转换,我们使用Spring对转换器的支持创建了自己的自定义转换器,但是,似乎Spring- Data-Cassandra无法识别它们或无法将字段映射到列。 这就是我们在Spring的转换服务中注册转换器的方式。 最终结果是在应用程序启动时引发以下异常: Sprin