如何将EnumMap映射到cassandra列?

时间:2018-12-13 16:55:00

标签: java spring cassandra spring-data

我需要将EnumMap映射到cassandra数据列。实体类如下所示:

@Table
class ContainingEnumMap {
   @PrimaryKey
   String key;
   @Column
   Map<SomeEnum, String> map;
}

如果我注册了EnumNameCodec,则将上述类的实例正确写入数据库,但是,如果将它们读回,则会得到ClassCastException,因为映射键实际上是字符串。 如果我显式使用EnumMap属性,则会得到类似的异常,因为键仍然是字符串(而不是枚举实例)。 尝试用

注释地图列
@CassandraType(type = DataType.Name.MAP)

由于没有正确的枚举的DataType.Name常量,所以没有导致任何地方出现。

有没有办法做到这一点?

0 个答案:

没有答案