[英]com.datastax.driver.core.exceptions.InvalidQueryException using Datastax Java driver
[英]`InvalidQueryException: cannot parse '[B@50908fa9' as hex bytes` using Datastax Java driver
我试图在我的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);
}
这是我回来的例外-
InvalidQueryException: cannot parse '[B@50908fa9' as hex bytes
我想问题是,我正在制作高于cql的方法。肯定缺少某些内容...
我已经创建了这样的表-
create table test_data (user_id text, name text, value blob, primary key (user_id, name));
有谁能够帮助我? 谢谢...
问题是,当您将字节数组附加到String时,它将在byte []上调用toString,该输出显示您看到的无用指针。 您需要将其手动转换为数据类型的字符串。 在您的情况下,您使用的是Blob,因此您需要转换为十六进制字符串。
这个问题有将byte []转换为String的代码:
您可以使用这些功能之一,并在其前面加上“ 0x”。 然后,您应该为您的Blob使用有效的字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.