Создать тип пользователя со списком <text>в Кассандре - PullRequest
0 голосов
/ 28 августа 2018

У меня есть таблица для создания в Кассандре с пользовательским типом. Из проекта Java у меня есть этот класс:

public class Product {

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

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

Я хочу создать тип пользователя в Кассандре с этим классом:

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"

Как решить эту проблему?

1 Ответ

0 голосов
/ 28 августа 2018

В зависимости от версии Cassandra, вам может потребоваться определить ваш UDT как замороженный . Это практически означает, что поле является неизменным и что кассандра рассматривает поле как BLOB-объект, предотвращая изменение различных полей внутри типа.

Также имейте в виду, что ключи разделов всегда должны быть заморожены из-за того, как токены хэшируются от значения ключа.

Это может делать то, что вы хотите.

...