Scala 使用幻影dsl自定义cassandra列编组
我想定义一个新的列/转换器,将一个case类封送到一个基元类型,然后再次使用幻影dsl封送回来 在slick 3.1.1中,我可以轻松做到这一点:Scala 使用幻影dsl自定义cassandra列编组,scala,cassandra,phantom-dsl,Scala,Cassandra,Phantom Dsl,我想定义一个新的列/转换器,将一个case类封送到一个基元类型,然后再次使用幻影dsl封送回来 在slick 3.1.1中,我可以轻松做到这一点: implicit val idTypeMapper = MappedColumnType.base[Id, Long]( { (v) ⇒ v.value }, { (s) ⇒ Id(s) } ) 这允许我在一个灵活的查询中的任何地方使用Id,它将被隐式地来回转换 我试图通过扩展AbstractColumn(和其他)在phan
implicit val idTypeMapper = MappedColumnType.base[Id, Long](
{ (v) ⇒ v.value },
{ (s) ⇒ Id(s) }
)
这允许我在一个灵活的查询中的任何地方使用Id
,它将被隐式地来回转换
我试图通过扩展AbstractColumn
(和其他)在phantom中导出我自己的列和转换,但没有成功
如何在幻影dsl中做到这一点。对于延迟回复表示歉意,您只需使用
Primitive.derivate
。更多的细节
import com.outworkers.phantom.dsl._
case class Test(value: String)
object Test {
implicit val testPrimitive: Primitive[Test] = {
Primitive.derive[Test, String](_.value)(Test.apply)
}
}