5

我正在使用 cassandra-driver-core 版本 3.5.1

我在卡桑德拉有一张桌子。表中的所有字段都是驼峰式的,并用双引号创建。这些字段需要采用驼峰形式,因为我的 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我可以在字段名称中添加引号。

还有其他解决方案吗?

4

1 回答 1

0

在创建 JSON 时,向这些字段添加了转义的双引号。示例:"\"catalogName\""

如果使用杰克逊:@JsonProperty("\"catalogName\"")

这对我有用。

于 2020-12-09T05:26:49.853 回答