我需要将EnumMap映射到cassandra数据列。实体类如下所示:
@Table
class ContainingEnumMap {
@PrimaryKey
String key;
@Column
Map<SomeEnum, String> map;
}
如果我注册了EnumNameCodec,则将上述类的实例正确写入数据库,但是,如果将它们读回,则会得到ClassCastException,因为映射键实际上是字符串。 如果我显式使用EnumMap属性,则会得到类似的异常,因为键仍然是字符串(而不是枚举实例)。 尝试用
注释地图列@CassandraType(type = DataType.Name.MAP)
由于没有正确的枚举的DataType.Name常量,所以没有导致任何地方出现。
有没有办法做到这一点?