Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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 缺少必需的主键部件版本_Java_Spring_Cassandra_Datastax - Fatal编程技术网

Java 缺少必需的主键部件版本

Java 缺少必需的主键部件版本,java,spring,cassandra,datastax,Java,Spring,Cassandra,Datastax,我正在开发一个spring应用程序,使用spring向datastax cassandra插入一条记录。 下面是用于创建表的脚本 CREATE TABLE user( name text, source text, createddate timestamp, version timestamp, id timeuuid, system text,

我正在开发一个spring应用程序,使用spring向datastax cassandra插入一条记录。 下面是用于创建表的脚本

CREATE TABLE user(
            name text,
            source text,
            createddate timestamp,
            version timestamp,
            id timeuuid,
            system text,
            desc text,
            PRIMARY KEY((name,source,createddate),version)
);
下面是我为连接cassandra表而编写的dto

@PrimaryKeyClass
public class User implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;
@PrimaryKeyColumn(ordinal = 0,type = PrimaryKeyType.PARTITIONED)
private String name; 
@PrimaryKeyColumn(ordinal = 1,type = PrimaryKeyType.PARTITIONED)
private String source; 
@PrimaryKeyColumn(ordinal = 2,type = PrimaryKeyType.PARTITIONED)
private Date createddate; 
@PrimaryKeyColumn(ordinal = 3,type = PrimaryKeyType.CLUSTERED)
private Date version; 
private UUID id;
private String system;
private String desc;
但当我尝试插入记录时,它抛出了异常“com.datastax.driver.core.exceptions.InvalidQueryException:缺少必需的主键部分版本”。请帮我解决这个问题。非常感谢。

1°)您是否检查了
版本
字段是否为

2°)由于我从未使用过Cassandra的Spring数据,我不确定,但通过查看,也许您可以:

  • 创建一个专用的主键类,用
    @PrimaryKeyClass
  • 将您的
    @PrimaryKeyColumn
    注释属性放入其中
  • User
    类中使用新的主键类,并用
    @PrimaryKey

谢谢你。如前所述,版本feild为空。现在我给它赋值,它工作正常。