【问题标题】:Create user type with list<text> in cassandra在 cassandra 中使用 list<text> 创建用户类型
【发布时间】:2018-08-28 16:13:15
【问题描述】:

我有一个表要在 cassandra 中创建,具有自定义类型。 从java项目,我有这个类:

public class Product {

    @Column(value = "tags")
    private List<String> tags;

    @Column(value = "price")
    private double price;
}

我想用这个类在 cassandra 中创建一个用户类型:

CREATE TYPE quangkeyspace.student (
  tags list<text>,
  price floats
);

但执行时出错:InvalidRequest: Error from server: code=2200 [Invalid query] message="A user type cannot contain non-frozen UDTs"

如何解决这个问题?

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    根据您的 Cassandra 版本,您可能需要将 UDT 定义为 frozen。这实际上意味着该字段是不可变的,并且 cassandra 将该字段视为一个 blob,从而防止修改类型内的不同字段。

    另外,请记住,分区键必须始终被冻结,因为令牌是从键的值中散列出来的。

    This 可能正在做你想做的事。

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 2014-12-30
      • 2021-02-11
      • 2016-01-14
      • 2019-10-28
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 2014-06-29
      相关资源
      最近更新 更多