我可以将Cassandra字符串和长列映射到java Map <string,long>吗?

时间:2016-09-29 22:59:35

标签: java spring cassandra

我正在研究一个有两个方面的测试过程。因此,我想知道我是否可以重用我用来保存Redis数据的POJO,并将我的Cassandra数据存储在同一个对象中。 (这个项目使用的是spring-data-cassandra和spring-data-redis。我可以根据需要添加其他库。)

现有对象:

public class RedisCounter {
private String key;
private Map<String, Long> data;

...getters, setters...
}

(此环境中的redis数据存储在同一个键下的许多结果中)

在Cassandra中,我们有三个项目:Key(字符串),Column1(字符串),Value(长)。 所以我希望能够将Column1和Value项直接映射到RedisCounter数据映射中。但我不确定这是可能的。在Cassandra数据的其他测试中,我成功创建了一个类似于此的对象:

@PrimaryKeyClass
public class CassandraCounter{

@PrimaryKeyColumn(name = "key", ordinal = 0, type = PrimaryKeyType.PARTITIONED)
private String key;

private String column1;
private Long value;

...getters and setters...    
}

我目前没有成功破译@Column这样的注释,但我确定我也遗漏了一些东西。

基本上,我已经有了这个测试的一个方面,它成功地查询和验证了Redis中的数据。我只是想知道我是否必须使用Cassandra计数器重新制作许多类似的功能,或者我是否能以某种方式直接映射这些项目(例如List<Counter> results = cassandraOperations.select(cql, Counter.class);,其中cql是普通字符串)。

我应该制作基类并实现这两个计数器变体吗?别的什么?谢谢!

0 个答案:

没有答案