#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;