Cassandra issue - "The clustering keys ordering is wrong for @EmbeddedId"

时间:2023-03-09 19:03:59
Cassandra  issue - "The clustering keys ordering is wrong for @EmbeddedId"

在Java连接Cassandra的情况下, 当使用组合主键时, 默认第一个是Partition Key, 后续的均为Clustering Key.

如果有多个Clustering Key, 在Java中需指定Clustering Key的Order顺序, 否则将出现 "The clustering keys ordering is wrong for @EmbeddedId" 错误。

代码示例:

`@Entity(table = "table_name")

public class DemoDO {

@EmbeddedId
private CompoundKey id; public static class CompoundKey { @PartitionKey
@Column(name = "filed_one")
public String fieldOne; @ClusteringColumn(1)
@Column(name = "field_two")
private String fieldTwo; @ClusteringColumn(2)
@Column(name = "field_three")
private Date fieldThree; public CompoundKey() {
} public CompoundKey(String fieldOne, String fieldTwo, Date fieldThree) {
this.fieldOne= fieldOne;
this.fieldTwo= fieldTwo;
this.fieldThree= fieldThree;
} ... } @Column(name = "field_four")
private String fieldFour;

...

}

`