Как я могу проверить строку запроса, сгенерированную Spring Data Cassandra Mapper

Если я аннотирую класс с аннотациями из com.datastax.driver.mapping.annotationsЯ могу написать тест в соответствии с:

MappingManager manager = new MappingManager(session);
Mapper<MyAnnotatedClass> mapper = manager.mapper(MyAnnotatedClass.class);

MyAnnotatedClass entity = ...;

RegularStatement saveQuery = (RegularStatement) mapper.saveQuery(entity);

assertEquals("...", saveQuery.getQueryString());

Однако у меня есть классы сущностей с пометкой org.springframework.data.cassandra.mapping аннотаций. Я не смог найти Spring эквивалент Mapper"s saveQuery(), getQuery() а также deleteQuery(),

Как я могу написать (в идеале облегченный во время выполнения) тесты относительно CQL, сгенерированного из аннотированных классов сущностей Spring Data Cassandra?

1 ответ

Решение

В Spring Data для Apache Cassandra 1.5 вы можете написать следующий код для создания Statements:

CassandraTemplate template = …

Person person = …

CqlIdentifier tableName = template.getTableName(Person.class);

Insert insert = CassandraTemplate.createInsertQuery(tableName.toCql(), person, 
                    new WriteOptions(), template.getConverter());

Delete delete = CassandraTemplate.createDeleteQuery(tableName.toCql(), person,
                    new WriteOptions(), template.getConverter());

Update update = CassandraTemplate.createUpdateQuery(tableName.toCql(), person, 
                    new WriteOptions(), template.getConverter());

Примечание: Spring Data для Apache Cassandra 1.5 использует BATCH заявления для вставок, это собирается измениться с выпуском 2.0.

CassandraTemplate а также CassandraConverter являются ключевыми классами, участвующими в создании запроса для версии 1.5. В Spring Data 2.0 ситуация немного изменится, так как 2.0 будет поставляться с дополнительными Query а также Update типы для частичного обновления сущностей. Таким образом, создание запроса перемещается из CassandraTemplate.create…Query(…)в QueryUtils.create…Query(…),

Другие вопросы по тегам