【问题标题】:* projection with case class* 案例类投影
【发布时间】:2015-08-25 11:41:56
【问题描述】:

所以我关注了:http://slick.typesafe.com/doc/3.0.2/gettingstarted.html,现在我想使用案例类而不是将每个模型都定义为一个元组。

所以我有:

case class Character(id: Long, foreName: String, middleNames: String, lastName: String, age: Int)

//class Characters(tag: Tag) extends Table[(Int, String, String, String, Int)](tag, "characters")
class Characters(tag: Tag) extends Table[Characters](tag, "characters")
{
  def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
  def foreName = column[String]("forename")
  def middleNames = column[String]("middlenames")
  def lastName = column[String]("lastname")
  def age = column[Int]("age")

//  def * = (id, foreName, middleNames, lastName, age)
  def * = (id, foreName, middleNames, lastName, age) <> (Character.tupled, Character.unapply _)
}

但我明白了:

MappedProjection[Character, (Long, String, String, String, Int)] 不符合预期的类型 ProvenShape[Characters]

但这是为什么呢?与:http://de.slideshare.net/rebeccagrenier509/slick-learn2 slide 7 基本相同。即使这只是 Slick 2,我如何在 Slick 3 中实现相同的效果?

【问题讨论】:

  • 看起来你想要的是extends Table[Character],而不是extends Table[Characters]
  • @Shadowlands: 啊......把它作为一个答案,我会接受;)

标签: scala slick slick-3.0


【解决方案1】:

看起来你想要... extends Table[Character],而不是... extends Table[Characters]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    相关资源
    最近更新 更多