【发布时间】:2014-06-10 15:38:46
【问题描述】:
我的问题是:
我的 Scala 的案例类具有参数,其中集合(即 List)是其构造函数参数的一部分,我想知道如果需要,如何将我的案例类映射到 Slick 样式的数据库表中?
换句话说,我想“以 Slick 方式加入表格以映射到 Json 格式的案例类,该类将表示为前端 (javascript) 位”?
如果我的问题不够清楚,请大声告诉我。
同样的问题是: https://groups.google.com/forum/#!topic/scalaquery/QqZz_M-1VTg
例如,
case class ClassA (id: Int, lists: List[ClassB])
object ClassA extends TableQuery(new ClassATable(_)) {
// JSON formatter
implicit val classAFormat: Format[ClassA] = (
(JsPath \ "id").formatNullable[Int] and
(JsPath \ "lists").format[List[ClassB]]
)(ClassA.apply, unlift(ClassA.unapply))
}
case class ClassB (id: Int, name: String)
object ClassB extends TableQuery(new ClassBTable(_)) {
implicit val classBFormat: Format[ClassB] = (
(JsPath \ "id").formatNullable[Int] and
(JsPath \ "name").format[String]
)(ClassB.apply, unlift(ClassB.unapply))
}
那么,缺少的一点是创建 ClassATable 和 ClassBTable 以通过每个人的“id”存在双向关系?
非常感谢,
【问题讨论】:
-
请大声喊叫。一些代码会很有帮助。
-
您必须使用现有的类还是可以更改它们?
-
类可以更改。
标签: scala slick case-class