【问题标题】:QueryBuilder for user defined type in cassandra driver 3.0 (Java)用于 cassandra 驱动程序 3.0 (Java) 中用户定义类型的 QueryBuilder
【发布时间】:2016-10-06 00:26:38
【问题描述】:

我有一个架构如下

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

CREATE TYPE coords(
longitude double, 
latitude double
);

我可以使用准备好的语句插入数据,但我无法使用 QueryBuilder API 将其插入,如果有人能指出我正确的方向,那就太好了。

谢谢!

【问题讨论】:

    标签: java cassandra cql cql3


    【解决方案1】:

    这应该可以解决问题:

    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);
    

    【讨论】:

    • 这就是为什么我们使用 Spring Data Cassandra 来处理这个残酷的样板
    猜你喜欢
    • 2014-09-15
    • 2021-02-17
    • 2016-09-19
    • 2016-08-04
    • 2017-10-04
    • 2015-07-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    相关资源
    最近更新 更多