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