我在cassandra中有以下用户定义的类型:
CREATE TYPE key(
name text,
created_time timestamp
);
它如下表所示:
CREATE TABLE keys(
id uuid,
keys map<text, frozen<list<key>>>
);
请注意,下面的POJOS还包含setter / getters,为了便于阅读而剪切
然后我有 key
映射的以下POJO:
@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映射器是否不适用于用户定义类型的映射,如果没有,是否有解决我的问题的方法?