2015-03-02 4 views
1

Возможно, я пропустил это, но не могу найти способ указать уровень согласованности в Datastax Object Mapping API для Java.Уровень согласованности в API сопоставления объектов Datastax

Я понимаю, что это CQL3 и на CQL, вы можете указать согласованность, используя предложение CONSISTENCY. Но в API сопоставления объектов вы не будете напрямую заниматься запросами. Итак, как бы вы определяли согласованность при сохранении или извлечении объектов?

ответ

1

Посмотрел код в 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()

0

Существует тонна документации в зависимости от того, что именно вы делаете. Пожалуйста, проверьте следующие страницы:

Возможно, один из них будет полезно для вашего конкретного случая.

1

У нас также была такая же проблема, потому что мы использовали 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)); 
+0

Спасибо за ответ. Я бы хотел, чтобы у api был более простой способ указать уровень согласованности. – devin

+0

Да, я тоже с тех пор сеанс завернут внутрь, и вам не нужно думать об этом (просто сохранить), но таким образом вы вернулись к подготовленным заявлениям и должны сделать все снова –

+0

Взгляните на мой ответ. – devin

Смежные вопросы