使用幻像dsl定制编组cassandra色谱柱

时间:2017-03-15 23:27:19

标签: scala cassandra phantom-dsl

我想定义一个新的Column /转换器来将case类编组为基本类型,然后使用幻像dsl重新编写。

in slick 3.1.1我可以轻松地做到这一点:

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

这允许我在光滑的查询中的任何地方使用Id,它将被隐式地来回转换。

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

我如何在幻像中执行此操作。

1 个答案:

答案 0 :(得分:0)

对于迟到的回复道歉,您只需使用Primitive.derive即可。有关official docs的详细信息。

import com.outworkers.phantom.dsl._

case class Test(value: String)

object Test {
  implicit val testPrimitive: Primitive[Test] = {
    Primitive.derive[Test, String](_.value)(Test.apply)
  }
}