Итак, я был следующим: http://slick.typesafe.com/doc/3.0.2/gettingstarted.html, и теперь я хотел бы использовать классы case вместо определения каждой модели как кортежа.* проекция с классом case
Так у меня есть:
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, Струнный, Int)] не соответствует ожидаемый тип ProvenShape [Персонажи]
Но почему это так? Это в основном то же самое: http://de.slideshare.net/rebeccagrenier509/slick-learn2 слайд 7. Даже если это только Slick 2, как я могу добиться того же в Slick 3?
Похоже, вы хотите, чтобы 'extends Table [Character]', а не 'extends Table [Characters]'. – Shadowlands
@ Shadowlands: Argh ... сделайте это ответом, и я соглашусь;) – Sorona
Хе-хе, конечно же - сделано. – Shadowlands