Cassandra中多个键空间的对象映射器类DB

问题描述:

我正在使用datastax-java-driver for cassandra来使用对象映射器来访问表中的数据,如解释here所述。
我遇到的问题是,我想让这个映射类在两个不同的键空间中工作(比如prod和test,其中映射的表具有相同的结构),但键空间是注释属性的@Table之一,所以我不能相应地以编程方式更改它,即它必须在编译时静态定义。Cassandra中多个键空间的对象映射器类DB

有没有办法在两个不同的键空间中使用映射类?我使用Cassandra的驱动程序映射v2.1.10.3

只是不要@Table注释

设置keyspace元素在@Table只有名称元素是强制性的,其他所有的元素都可选的。如果您没有设置密钥空间名称,那么将使用会话的连接密钥空间。

实施例:

@Table(name = "users") 
public static class User { 
    @PartitionKey 
    @Column(name = "user_id") 
    private UUID userId; 
    private String name; 
    // ... constructors/getters/setters 
} 

来源:http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/mapping/annotations/Table.html