我正在使用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:缺少必需的PRIMARY KEY部分版本”。请帮我解决这个问题。非常感谢。
答案 0 :(得分:0)
1°)您是否检查过version
字段不是null
?
2°)因为我从来没有使用过Cassandra的Spring Data我不确定,但是看看those annotations documentation也许你可以:
@PrimaryKeyClass
@PrimaryKeyColumn
带注释的属性放入其中User
课程中使用全新的主要新课程,并附注@PrimaryKey