如何编写/使用像rowToStringSequence Column[Seq[String]]这样的异常提取器



我写了这个行转换器。

implicit def rowToStringSequence: Column[Seq[String]] = Column.nonNull { (value, meta) =>
    val MetaDataItem(qualified, nullable, clazz) = meta
    value match {
      case data: Seq[String] => Right(data)
      case _ => Left(TypeDoesNotMatch(
        "Cannot convert " + value + ":" + value.asInstanceOf[AnyRef].getClass +
        " to String Array for column " + qualified))
    }
  }

不幸的是,我不知道如何在案例类中使用它。例如:

case class profile ( eyeColor: Seq[String] )

配置文件配套对象:

object Profile{
  val profile= {
      get[Seq[String]]("eyeColor") map {
        case
        eyeColor => Profile(eyeColor)
      }
   }
}

编译错误消息为:找不到参数提取器的隐式值:Anorm。列[序列[字符串]]

我需要一个提示。

谢谢!!

anorm.Column用于

将JDBC数据转换为所需的Scala类型。所以第一个问题是你想将哪种JDBC转换为Seq[String](而不是本身是JDBC类型)。

最新更新