gpt4 book ai didi

java - Cassandra Java Driver 将字段名称转换为小写

转载 作者:行者123 更新时间:2023-12-03 11:20:26 25 4
gpt4 key购买 nike

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

我在 Cassandra 有一张 table 。表中的所有字段都是驼峰式大小写并用双引号创建。这些字段需要采用驼峰式大小写,因为我的 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我可以为字段名称添加引号。

还有其他解决办法吗?

最佳答案

在创建 JSON 时,向此类字段添加了转义双引号。
示例:"\"catalogName\"" .
如果使用 jackson :@JsonProperty("\"catalogName\"")这对我有用。

关于java - Cassandra Java Driver 将字段名称转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52386499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com