Как преобразовать значение столбца Кассандры в соответствующее перечисление при запросе - PullRequest
0 голосов
/ 30 октября 2018

У нас есть столбец cassandra типа int, это значение int соответствует значению перечисления, есть ли способ преобразовать этот столбец int в строку перечисления при запросе.

1 Ответ

0 голосов
/ 30 октября 2018

Невозможно сделать в самом CQL, но драйвер Java поддерживает соответствующую функциональность с использованием класса EnumOrdinalCodec (пример из документации):

enum State {INIT, RUNNING, STOPPING, STOPPED}

cluster.getConfiguration().getCodecRegistry()
        .register(new EnumOrdinalCodec<State>(State.class));

// schema: create table ordinal_example(id int PRIMARY KEY, state int)
session.execute("insert into ordinal_example (id, state) values (1, ?)", State.INIT);
...