我的架构如下
CREATE TABLE location_by_name(
id uuid,
coordinates frozen<coords>,
name text,
primary key (name)
);
CREATE TYPE coords(
longitude double,
latitude double
);
我可以使用准备好的语句插入数据,但是我无法使用QueryBuilder API来实现,如果有人能指出我正确的方向,那就太棒了。
谢谢!
答案 0 :(得分:4)
这应该可以解决问题:
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);