我可以使用Sclick List和Slick(Play)吗?
发布时间:2020-12-16 18:55:42 所属栏目:安全 来源:网络整理
导读:我正试图在这里存储一个整数列表是我正在做的事情: 模型 case class Score( scoresPerTime: List[Int])object Scores extends Table[Score]("SCORES"){ def scorePerTime = column[List[Int]]("SCORE_PER_TIME") //...more code} 调节器 val form = Form( M
我正试图在这里存储一个整数列表是我正在做的事情:
模型 case class Score( scoresPerTime: List[Int] ) object Scores extends Table[Score]("SCORES"){ def scorePerTime = column[List[Int]]("SCORE_PER_TIME") //...more code } 调节器 val form = Form( Map( "scoresPerTime" -> list(number) )(Score.apply)(Score.unapply) ) 我收到一个编译错误: .... could not find implicit value for parameter tm: scala.slick.lifted.TypeMapper[List[Int]][error] def scorePerTime = column[List[Int]]("SCORE_PER_TIME") 如何解决此问题以输入列表?或者尝试其他选项,如元组,枚举…… 解决方法
你可以通过定义类型映射器来实现,比如说List [Int]到String,反之亦然.
一种可能性: implicit def date2dateTime = MappedTypeMapper.base[List[Int],String]( list => list mkString ",",str => (str split "," map Integer.parseInt).toList ) 我说这是一种可能性,因为我没有测试过.不确定它返回列表的事实会破坏Slick.一个可能含糊不清的地方是聚合查询,你需要计算数量,而不是计数(字段)(显然是一个). 但这完全是非关系.关系方式是有一个包含两个字段的新表,一个外键引用表SCORES中的一行,另一个字段引用一个SCORE_PER_TIME.外键应该是非唯一索引,因此搜索速度很快.光滑处理这个很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |