使用Spring Data Cassandra将MapOf - UserDefinedType映射到cassandra中的POJO

时间:2017-06-29 19:41:40

标签: java spring cassandra spring-annotations spring-data-cassandra

我在cassandra中有以下用户定义的类型:

CREATE TYPE key(
    name text,
    created_time timestamp
);

如下表所示:

CREATE TABLE keys(
    id uuid,
    keys map<text, frozen<list<key>>>
);

**请注意,下面的POJOS还包含setter / getters,为了便于阅读而剪断**

然后我有以下POJO用于​​映射key

@UserDefinedType(value = "key")
public class MyKey {
    @Column(value = "name")
    private String name;
    @Column(value = "created_time")
    private Instant createdTime;
}

我有keys

的以下POJO
@Table(value = "keys")
public class MyKeys {
    @PrimaryKey(value = "id")
    private UUID id;
    @Column(value = "keys")
    private Map<String, List<Key>> keys;
}

不幸的是,当我尝试插入MyKeys的实例时,我收到以下错误:

  

org.springframework.dao.InvalidDataAccessApiUsageException:实体[com.utx.dao.tables.MyKeys]中[类型[interface java.util.Map]的属性[keys]的集合中只允许使用基本类型

Spring-Data-Cassandra映射器是否不适用于用户定义类型的映射,如果没有,是否有解决我问题的方法?

0 个答案:

没有答案