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;

...
}
`

posted @ 2017-02-21 14:59  安果果  阅读(136)  评论(0)    收藏  举报