也許我忽略了它,但是我找不到在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