Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java CQL驱动程序中的数据类型_Java_Cassandra_Cql_Cql3_Cassandra 2.0 - Fatal编程技术网

java CQL驱动程序中的数据类型

java CQL驱动程序中的数据类型,java,cassandra,cql,cql3,cassandra-2.0,Java,Cassandra,Cql,Cql3,Cassandra 2.0,有没有办法在CQL中使用短值和字节值?我已经定义了一个带有int字段的表,可以从中存储和读取短值和字节值,但是如果我试图在一个准备好的语句中绑定一个值,我会得到一个错误。我也试过各种各样的,但还是不走运。这是我得到的一个例外: Invalid type for value 1 of CQL type varint, expecting class java.math.BigInteger but class java.lang.Byte provided 以下是表格定义: CREATE TAB

有没有办法在CQL中使用短值和字节值?我已经定义了一个带有int字段的表,可以从中存储和读取短值和字节值,但是如果我试图在一个准备好的语句中绑定一个值,我会得到一个错误。我也试过各种各样的,但还是不走运。这是我得到的一个例外:

Invalid type for value 1 of CQL type varint, expecting class java.math.BigInteger but class java.lang.Byte provided
以下是表格定义:

CREATE TABLE "Timeline" (
    "BucketID" varchar,
    "CreationTime" timestamp,
    "Attr01" varint,
    "Attr02" bigint,
    "Attr03" varint,
    "Attr04" varint,
    "Attr05" uuid,
    "Message" text,
    PRIMARY KEY (("BucketID", "Attr01"), "CreationTime", "Attr02", "Attr03", "Attr04", "Attr05")
) WITH COMPACT STORAGE AND CLUSTERING ORDER BY ("CreationTime" DESC);
有没有一种方法可以使用short/bytes,而不是总是强制转换/创建整数

这里是图表的链接

我也试过各种各样的,但还是不走运

我本以为
varint
也应该起作用。但是我可以看到(在上面引用的链接中)
varint
映射到
biginger
,所以这里没有运气。在任何情况下,
short
和基于CQL3整数的类型之间似乎不存在映射

但是,如果要存储字节,可以使用
blob
CQL3类型

编辑20180727


CQL中的
smallint
现在映射到
java.lang.Short

@aroth链接已修复。