gpt4 book ai didi

java - `InvalidQueryException: cannot parse ' [B@50908fa9 ' as hex bytes` 使用 Datastax Java 驱动程序

转载 作者:行者123 更新时间:2023-12-01 14:00:35 24 4
gpt4 key购买 nike

我正在尝试将字节数组插入到我的 Cassandra 表中的 Blob 数据类型中。我正在使用 Datastax Java 驱动程序。下面是我的代码 -

for (Map.Entry<String, byte[]> entry : attributes.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

String cql = "insert into test_data (user_id, name, value) values ('"+userId+"', '"+entry.getKey()+"', '"+entry.getValue()+"');";

System.out.println(cql);

CassandraDatastaxConnection.getInstance();

CassandraDatastaxConnection.getSession().execute(cql);

}

这是我回来的异常(exception) -

InvalidQueryException:无法将“[B@50908fa9”解析为十六进制字节

我想问题是,我制作上述 cql 的方式..肯定缺少一些东西...

我创建了这样的表 -

创建表test_data(user_id文本,名称文本,值blob,主键(user_id,名称));

有人可以帮我吗?谢谢...

最佳答案

问题是,当您将字节数组附加到字符串时,它会在 byte[] 上调用 toString ,这会打印您所看到的无用指针。您需要手动将其转换为适合您的数据类型的字符串。在您的情况下,您使用的是 blob,因此需要转换为十六进制字符串。

这个问题有将 byte[] 转换为字符串的代码:

How to convert a byte array to a hex string in Java?

您可以使用其中一个函数并在其前面添加“0x”。那么你的 blob 应该有一个有效的字符串。

关于java - `InvalidQueryException: cannot parse ' [B@50908fa9 ' as hex bytes` 使用 Datastax Java 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373776/

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