加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

我可以使用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.外键应该是非唯一索引,因此搜索速度很快.光滑处理这个很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读