SpringData Cassandra Java Adapter - Использование UDT в столбцах карты

Я использую версию 1.5.1 адаптера Cassandra для Java и пытаюсь вставить запись в таблицу со столбцом Map, в котором в качестве значения столбца используется UDT (ключ - просто varchar). Я создал таблицу с помощью cqlsh и могу вставить ее в CQL просто отлично. Когда я пытаюсь использовать CassandraTemplate...insert(), все, что я получаю, это:

UserTypeResolver не должен быть нулевым

Мой класс UDT определяется как:

@UserDefinedType ("iss_type") открытый класс 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;

И моя таблица определена как открытый класс @Table IssueMap {

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

    @Column
    private Map<String, IssueType> issue_map;

В моей конфигурации у меня есть: @Bean public CassandraMappingContext cassandraMapping() выдает ClassNotFoundException { BasicCassandraMappingContext mappingContext = new BasicCassandraMappingContext(); mappingContext.setUserTypeResolver(новый SimpleUserTypeResolver(cluster().getObject(),"campaign_management")); вернуть mappingContext; }

Есть что-то, чего я здесь не хватает? Или просто невозможно определить столбцы таким образом? Я понимаю, что мог бы просто использовать построитель запросов для создания CQL и вставки, но я надеялся, что смогу в полной мере использовать возможности шаблона Cassandra.

0 ответов

Другие вопросы по тегам