【问题标题】:salat serialize Map[Enum,Boolean] typesalat 序列化 Map[Enum,Boolean] 类型
【发布时间】:2016-07-27 19:40:18
【问题描述】:

您好,我想使用 salat 将一些以枚举作为键的映射序列化/去实化到 DBObject。

object MyEnum extends Enumeration {
  val VAL_ONE, VAL_TWO = Value
}
case class CanBeStored(a:Enumeration.Value)

case class CanNotBeStored(a:Map[Enumeration.Value,Boolean])
// Produces exception[[ClassCastException: com.mongodb.BasicDBObject cannot be cast to scala.collection.immutable.Map]]

据我了解,无法使用当前版本。 https://groups.google.com/forum/#!topic/scala-salat/s3Q548NM8yc

但是可能存在一些圆形的方法吗?真正的问题是我有一个相当深的嵌套案例类模型,它描述了我的 Mongo 数据模型,我不能只是将序列化更改为自定义实现。

也许我可以直接为 Map[MyEnum.Value,Boolean] 构建一些自定义 Transformer,但是如何?

【问题讨论】:

    标签: mongodb scala casbah salat


    【解决方案1】:

    是的,您可以实现自定义转换器,将存储在 mongo 中的字符串键转换为您的枚举对象。

    见:How to customize serialization behavior without annotations in Salat?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多