gpt4 book ai didi

enums - Cassandra 中的枚举数据类型

转载 作者:行者123 更新时间:2023-12-04 01:44:26 25 4
gpt4 key购买 nike

我正在尝试将我的数据库从 MySQL 迁移到 Cassasndra。我面临的问题是定义为 Enum (enum('GP','NGP','PGP','PAGP')) 的列类型之一。 Cassandra 不支持 Enum 数据类型(尽管它支持集合)。有没有办法在 Cassandra 中实现 Enum 数据类型,以便列的值应该限制在一组值中?我使用的是 Apache Cassandra 2.0.7 版。

最佳答案

参见 datastax cassandra 对象映射 API,

http://docs.datastax.com/en/developer/java-driver/2.1/java-driver/reference/crudOperations.html

enum Gender { FEMALE, MALE };

// FEMALE will be persisted as 'FEMALE'
@Enumerated(EnumType.STRING)
private Gender gender;

// FEMALE will be persisted as 0, MALE as 1
@Enumerated(EnumType.ORDINAL)
private Gender gender

Cassandra 3.0
enum State {INIT, RUNNING, STOPPING, STOPPED}

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

// schema: create table name_example(id int PRIMARY KEY, state text)
session.execute("insert into name_example (id, state) values (1, ?)", State.INIT);
// state is saved as 'INIT'

http://docs.datastax.com/en/developer/java-driver/3.1/manual/custom_codecs/extras/

关于enums - Cassandra 中的枚举数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com