在SLICK 2.0上,我发现我不能隐含用户定义的列 [英] on slick 2.0, I find I can not implicit user defined column

查看:0
本文介绍了在SLICK 2.0上,我发现我不能隐含用户定义的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用SLICK 2.0 RC 我已定义字段UserId

trait TypedId extends Any {
   def value: Long
}

trait HasId[ID <: TypedId] {
  _: Table[_] =>
  def id: Column[ID]
}

case class UserId(value:Long) extends AnyVal with TypedId

case class User(id: Option[UserId],
                email: String,
                firstName: String,
                lastName: String,
                phone:String)

何时使用:

class Users(tag: Tag) extends Table[User](tag, "users") with HasId[Option[UserId]] {
    def * = (id.?, email, firstName , lastName , phone )<> (User.tupled, User.unapply)
    def id= column[Option[UserId]]("ID", O.AutoInc, O.PrimaryKey)
    def email = column[String]("EMAIL", O.NotNull)

    def firstName = column[String]("FIRST_NAME", O.NotNull)

    def lastName = column[String]("LAST_NAME", O.NotNull)
    def phone =column[String]("PHONE", O.NotNull)
}

它显示编译错误为:

[error] C:assigmentslick-advancedappmodelsUser.scala:27: could not find imp
licit value for parameter tm: scala.slick.ast.TypedType[Option[models.UserId]]
[error]   def id= column[Option[UserId]]("ID", O.AutoInc, O.PrimaryKey)

推荐答案

这似乎与已经回答的问题重复,可在此处找到:on slick 2.0, I find I can not store user defined field

这篇关于在SLICK 2.0上,我发现我不能隐含用户定义的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆