0

我想定义一个新的列/转换器来将案例类编组为原始类型,然后使用幻像 dsl 再次返回。

在 slick 3.1.1 中,我可以轻松做到这一点:

  implicit val idTypeMapper = MappedColumnType.base[Id, Long](
    { (v) ⇒ v.value },
    { (s) ⇒ Id(s) }
  )

这使我Id可以在一个灵活的查询中使用任何地方,它将被隐式地来回转换。

我试图通过扩展AbstractColumn(和其他)来导出我自己的列和转换,但没有运气。

我如何在幻像 dsl 中做到这一点。

4

1 回答 1

0

对于迟到的回复表示歉意,您只需使用Primitive.derive. 有关官方文档的更多详细信息。

import com.outworkers.phantom.dsl._

case class Test(value: String)

object Test {
  implicit val testPrimitive: Primitive[Test] = {
    Primitive.derive[Test, String](_.value)(Test.apply)
  }
}
于 2017-03-27T12:20:49.633 回答