2016-06-06 2 views
1

У меня есть схема следующим образомQueryBuilder для определяемого пользователем типа в драйвере Cassandra 3.0 (Java)

CREATE TABLE location_by_name(
id uuid, 
coordinates frozen<coords>, 
name text, 
primary key (name) 
); 

CREATE TYPE coords(
longitude double, 
latitude double 
); 

Я могу вставить данные, используя подготовленное заявление, но я не мог сделать это с помощью QueryBuilder API, было бы здорово, если бы кто-нибудь мог указать мне в правильном направлении.

Спасибо!

ответ

2

Это должно сделать трюк:

UserType coordsType = cluster.getMetadata() 
    .getKeyspace("ks") 
    .getUserType("coords"); 
UDTValue coordinates = coordsType.newValue() 
    .setDouble("longitude", 2.35) 
    .setDouble("latitude", 48.853); 
Statement insert = QueryBuilder.insertInto("location_by_name") 
    .value("id", id) 
    .value("coordinates", coordinates) 
    .value("name", name); 
+0

, поэтому мы используем Spring Data Кассандру, чтобы не иметь дело с этой жестокой шаблонного – walv

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