Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡桑德拉+;弹簧数据_Java_Cassandra_Spring Data_Spring Data Cassandra - Fatal编程技术网

Java 卡桑德拉+;弹簧数据

Java 卡桑德拉+;弹簧数据,java,cassandra,spring-data,spring-data-cassandra,Java,Cassandra,Spring Data,Spring Data Cassandra,我使用的是spring数据cassandra,需要使用jpa映射一个字段,该字段在cassandra中的类型为freezed 表脚本: create table IF NOT EXISTS test ( id varchar, name varchar, target frozen<map<text, list<text>>>, primary key (id, name) 如果不存在测试,则创建表( id varchar, 名字叫瓦查尔, 目标冻结, 主键

我使用的是spring数据cassandra,需要使用jpa映射一个字段,该字段在cassandra中的类型为
freezed

表脚本:

create table IF NOT EXISTS test (
id varchar,
name varchar,
target frozen<map<text, list<text>>>,
primary key (id, name)
如果不存在测试,则创建表(
id varchar,
名字叫瓦查尔,
目标冻结,
主键(id、名称)
))

我做了这样的东西:

@Column("target")
@CassandraType(type = DataType.Name.MAP, typeArguments = arrayOf( DataType.Name.MAP))   
Map<String, List<String>> target;
@列(“目标”)
@CassandraType(type=DataType.Name.MAP,typeArguments=arrayOf(DataType.Name.MAP))
地图目标;
但是得到错误:

找不到请求操作的编解码器:[list java.util.list];嵌套异常是
com.datastax.driver.core.exceptions.CodecNotFoundException:
找不到请求操作的编解码器:[list java.util.list]


请删除
@CassandraType
注释并添加驱动程序映射依赖项

用户模型

@Table(keyspace = "test_space", name = "user")
public class User {

    @PartitionKey
    private int id;

    @Column
    private String name;

    @Column
    private Map<String, List<String>> tags;

}
表数据

cqlsh:test_space> SELECT * FROM user ;

 id | name | tags
----+------+----------------------------------------------
  2 | user | {'test': ['test'], 'tester': ['one', 'two']}

(1 rows)
cqlsh:test_space> 
依赖性聚甲醛

    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-mapping</artifactId>
        <version>3.0.0</version>
    </dependency>

com.datasax.cassandra
卡桑德拉驱动映射
3.0.0

请改进您的问题,以明确您真正想问的是什么?它工作得很好,但可能是我的错,因为我没有正确地表达自己,这不正是我需要的。如果可能的话,我当然需要使用ReactiveCrudepository。非常感谢你的回答。
cqlsh:test_space> SELECT * FROM user ;

 id | name | tags
----+------+----------------------------------------------
  2 | user | {'test': ['test'], 'tester': ['one', 'two']}

(1 rows)
cqlsh:test_space> 
    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-mapping</artifactId>
        <version>3.0.0</version>
    </dependency>