Datastax 对象映射中的一致性级别 API

Consistency level in Datastax Object Mapping API

也许我忽略了它,但我找不到在 Datastax Object Mapping API 中为 Java 指定一致性级别的方法。

我知道它基于 CQL3,在 CQL 中,您可以通过 USING CONSISTENCY 子句指定一致性。但是在对象映射 API 中,您不会直接处理查询。那么在持久化或检索对象时如何指定一致性?

有大量文档取决于您具体在做什么。请检查以下页面:

也许其中之一会对您的具体情况有所帮助。

我们也有同样的问题,因为我们使用了Mapperclass的save()方法。您可以使用 saveQuery() 方法从映射的 class 中创建 Statement。这是示例:

final MappingManager mappingManager = new MappingManager(session);
Mapper<MyMappedClass> myMapper = mappingManager.mapper(MyMappedClass.class);
MyMappedClass myMappedInstance = new MyMappedClass(property1, propert2);
session.execute(myMapper.saveQuery(myMappedInstance).setConsistencyLevel(QUORUM));

查看了 GitHub 中的代码。确实有一种方法可以设置读写一致性级别。您可以使用@Table 注释指定一致性级别。

@Table (keyspace="XXX", name="riders", readConsistency="QUORUM", writeConsistency="QUORUM")

http://www.datastax.com/drivers/java/2.1/com/datastax/driver/mapping/annotations/Table.html#readConsistency()