也许我忽略了它,但是我找不到在Datastax Object Mapping API中为Java指定一致性级别的方法。Datastax对象映射API中的一致性级别
我知道这是基于CQL3的,在CQL中,您可以使用USING CONSISTENCY子句指定一致性。但在Object Mapping API中,您不会直接处理查询。那么如何在持久化或检索对象时指定一致性呢?
也许我忽略了它,但是我找不到在Datastax Object Mapping API中为Java指定一致性级别的方法。Datastax对象映射API中的一致性级别
我知道这是基于CQL3的,在CQL中,您可以使用USING CONSISTENCY子句指定一致性。但在Object Mapping API中,您不会直接处理查询。那么如何在持久化或检索对象时指定一致性呢?
看看GitHub中的代码。确实有办法设置读写一致性级别。您可以使用@Table注释来指定一致性级别。
@Table (keyspace="XXX", name="riders", readConsistency="QUORUM", writeConsistency="QUORUM")
根据你到底在做什么,有很多文件。请查看以下网页:
也许他们中的一个将成为您的具体情况有帮助的。
我们也有同样的问题,因为我们使用save()
方法Mapper
类。您可以使用saveQuery()
方法,该方法会从您的映射类中创建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));
感谢您的回答。我希望API有一个更简单的方式来指定一致性级别。 – devin 2015-03-17 23:07:50
因为现在会议被包裹在里面,你不需要考虑它(只是保存),但是这样你就可以回到准备好的陈述并且必须再做一切 – 2015-03-18 07:01:47
看看我的答案。 – devin 2015-03-20 16:25:16