SpringData Cassandra Java Adapter - 在Map列中使用UDT

时间:2017-03-27 17:44:59

标签: user-defined-types spring-data-cassandra

我正在使用适用于Java的Cassandra适配器的1.5.1版本,我正在尝试将记录插入到具有使用UDT作为列值的Map列的表中(键只是一个varchar)。我使用cqlsh创建了表,并且能够在CQL中插入它就好了。当我尝试使用CassandraTemplate ... insert()时,我得到的只是:

UserTypeResolver不能为空

我的UDT类定义为:

@UserDefinedType(" iss_type&#34) 公共类IssueType {

@CassandraType(type = DataType.Name.VARCHAR)
private String issue_code;

@CassandraType(type = DataType.Name.VARCHAR)
private String issue_name;

@CassandraType(type = DataType.Name.TIMESTAMP)
private Date issue_start;

@CassandraType(type = DataType.Name.TIMESTAMP)
private Date issue_end;

我的桌子被定义为 @表 公共类IssueMap {

    @PrimaryKeyColumn(
            type = PrimaryKeyType.PARTITIONED)
    private UUID map_id;

    @Column
    private Map<String, IssueType> issue_map;

在我的配置中,我有:     @豆     public CassandraMappingContext cassandraMapping()             抛出ClassNotFoundException {         BasicCassandraMappingContext mappingContext = new BasicCassandraMappingContext();         mappingContext.setUserTypeResolver(new SimpleUserTypeResolver(cluster()。getObject(),&#34; campaign_management&#34;));         return mappingContext;     }

我在这里缺少什么吗?或者是不可能以这种方式定义列?我意识到我可以使用查询构建器来创建CQL并执行插入操作,但我希望能够充分利用Cassandra模板功能。

0 个答案:

没有答案