0
我可以有一個自定義列Slick
(我想要一個案例類作爲代表JSON
的列)。浮油的自定義列
case class Segment(isNative: Option[Boolean], origin: Option[List[String]],whitelist: Option[Whitelist])
def seg = column[Option[Segment]]("segment")
我可以有一個自定義列Slick
(我想要一個案例類作爲代表JSON
的列)。浮油的自定義列
case class Segment(isNative: Option[Boolean], origin: Option[List[String]],whitelist: Option[Whitelist])
def seg = column[Option[Segment]]("segment")
當然你可以 - 這是自定義映射的問題。下面是它的外觀,如果你想存儲String
在DB:
implicit val segmentColumnType = MappedColumnType.base[Segment, String](
segment => ???, // logic here to convert Segment to JSON string
string => ??? // logic here to convert JSON string to Segment case class
)
然後你定義列如下(這實際上是你的代碼):
def seg = column[Option[Segment]]("segment")
您可以使用上面然後無論是在結果和查詢,例如像這樣:
MyTable
.filter(_.segment === Segment(Some(true), None, None)
.result
只要記住,你需要,當你使用這個會話(列定義,查詢等)有這個隱含的(segmentColumnType
)在地方範圍。