我正在使用Slick连接到数据库。但是,在我的表中有超过22个字段。我在使用表单时感到很困惑。编译器通知我映射方法的参数太多了。我找到了一些方法来解决它,比如使用嵌套值,但它们并不详细。如何解决这个问题?
答案 0 :(得分:1)
以下是使用嵌套类的示例(为方便起见,少于22个字段)。
case class Address(city: String)
case class Person(firstName: String, address: Address)
val personForm = Form[Person](
"firstName" -> text,
"address" -> mapping(
"city" -> text
)(Address.apply)(Address.unapply)
)(Person.apply)(Person.unapply)
class PersonTableDef(tag: Tag) extends Table[Person](tag, "person") {
def name = column[String]("name")
def city = column[String]("city")
def address = (city) <> ((Address.apply _).tupled, Address.unapply)
def * = (name, address) <> ((Person.apply _).tupled, Person.unapply)
}
答案 1 :(得分:0)
也许你可以分成几个表并构建一个复合对象,就好像它是一个继承。好吧,你无法将实体转换为json ......
帮助链接类似物,但采用另一种方法: