查询时如何将cassandra列值转换为对应的枚举

时间:2018-10-30 06:27:08

标签: cassandra cql

我们有一个int类型的cassandra列,该int的值对应于一个枚举的值,有一种方法可以在查询时将该int列转换为枚举字符串。

1 个答案:

答案 0 :(得分:1)

不可能在CQL本身中进行制作,但是Java驱动程序通过使用EnumOrdinalCodec类(来自文档的示例)来支持corresponding functionality

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