scala – 来自select的光滑插入
发布时间:2020-12-16 09:59:39 所属栏目:安全 来源:网络整理
导读:我使用 scala 2.11和slick 2.1.0并编译代码: trait TSegmentClient { this: Profile = import profile.simple._ class SegmentClients(tag: Tag) extends Table[(Int,Long)](tag,"seg") { def segmentId = column[Int]("segment_id") def clientId = column
我使用
scala 2.11和slick 2.1.0并编译代码:
trait TSegmentClient { this: Profile => import profile.simple._ class SegmentClients(tag: Tag) extends Table[(Int,Long)](tag,"seg") { def segmentId = column[Int]("segment_id") def clientId = column[Long]("client_id") def * = (segmentId,clientId) } } segmentClients.insert(clientBehaviors.map(c => (1,c.clientId))) 有用. 但我需要一个像这样的案例类: case class SegmentClient(segmentId: Int,clientId: Long) trait TSegmentClient { this: Profile => import profile.simple._ class SegmentClients(tag: Tag) extends Table[SegmentClient](tag,"seg") { def segmentId = column[Int]("segment_id") def clientId = column[Long]("client_id") def * = (segmentId,clientId) <> (SegmentClient.tupled,SegmentClient.unapply) } } segmentClients.insert(clientBehaviors.map(c => (1,c.clientId))) 但它没有编译.
我的代码出了什么问题? 解决方法
您可以使用另一个投影到未映射到案例类的元组.
case class SegmentClient(segmentId: Int,"seg") { def segmentId = column[Int]("segment_id") def clientId = column[Long]("client_id") def tuple = (segmentId,clientId) def * = tuple <> (SegmentClient.tupled,SegmentClient.unapply) } } segmentClients.map(_.tuple).insert(clientBehaviors.map(c => (1,c.clientId))) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |