Cassandra создает таблицу с вложенными объектами

#cassandra

#кассандра

Вопрос:

Я пытаюсь вставить данные в таблицу, которая имеет тело запроса как

 {
    "a": {
        "hostUrl": "url path"
    },
    "b": {
        "hostUrl": "abc",
        "hostPort": "port num"
    },
    "c": {
        "Username ": "username"
    }
} 

CREATE TABLE IF NOT EXISTS tabletest( a map<text,text>, b map<text,text>, c map<text,text>, created_at text PRIMARY KEY, updated_at text, enabled  int);
  

Я могу вставлять данные из cqlsh, но не из Mapper (com.datastax.driver.mapping.Картограф)

Фрагмент кода, в котором возникает ошибка при сохранении из impl:

 Mapper<DtoClassName> mapper = mappingManager.mapper(DtoClassName);
mapper.save(dtoClassName);
  

Ошибка:

Кодек не найден для запрошенной операции:[map<varchar,varchar> — в

(Здесь a — первый объект в теле запроса).

Ответ №1:

В файле класса DTO возникла проблема, поэтому она была решена путем преобразования его из Class в Map<String, Строка> как:

 @Column(name = "a")
private Map<String, String> a;

@Column(name = "b")
private Map<String, String> b;