Cassandra Java Driver преобразовывает имена полей в нижний регистр - PullRequest
0 голосов
/ 18 сентября 2018

Я использую ядро ​​cassandra-driver версии 3.5.1

У меня есть таблица в cassandra.Все поля в таблице имеют верблюжий корпус и созданы в двойных кавычках.Эти поля должны быть в случае верблюда, так как моя схема solr имеет верблюжий корпус, и у нас есть около 80-120 полей.

Но когда я вставляю свои документы json в эту таблицу, используя следующий код:

//jsonData is json document in String 
Insert insertQuery = QueryBuilder.insertInto(keySpace, table).json(jsonData);
ResultSet resultSet = session.execute(insertQuery.toString());

Сгенерированный запрос вставки:

INSERT INTO asda_search.GROCERIES JSON '{"catalogName":"some data", .....);

драйвер cassandra преобразует поле в операторе вставки в нижний регистр, что приводит к исключению ниже:

Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: JSON values map contains unrecognized column: catalogname

В моей таблице имя поля равно catalogName

Что мне делать, чтобы драйвер не прописывал мои поля в нижнем регистре?

Обновление:

Я знаю, что могу создать запрос, как показано ниже:

QueryBuilder.insertInto(keySpace, table).values(fieldNameList, fieldValueList)

при создании fieldNameList Я могу добавить кавычки к именам полей.

Любое другое решение?

...