Datastax Object Mapping API中的一致性级别

yquaqz18  于 2022-09-27  发布在  Cassandra
关注(0)|答案(3)|浏览(129)

也许我忽略了它,但我找不到在Java的Datastax Object Mapping API中指定一致性级别的方法。
我知道它是基于CQL3的,在CQL中,可以通过USING consistency子句指定一致性。但在对象MapAPI中,您不会直接处理查询。那么,在持久化或检索对象时,如何指定一致性呢?

7y4bm7vi

7y4bm7vi1#

我们也有同样的问题,因为我们使用了e1d1e类的save()方法。您可以使用saveQuery()方法,该方法从Map类中创建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));
tct7dpnv

tct7dpnv2#

查看了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()

lf5gs5x2

lf5gs5x23#

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

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

相关问题