2015-08-25 1 views
2

Итак, я был следующим: 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?

+3

Похоже, вы хотите, чтобы 'extends Table [Character]', а не 'extends Table [Characters]'. – Shadowlands

+0

@ Shadowlands: Argh ... сделайте это ответом, и я соглашусь;) – Sorona

+0

Хе-хе, конечно же - сделано. – Shadowlands

ответ

7

Похоже, вы хотите ... extends Table[Character], а не ... extends Table[Characters].

 Смежные вопросы

  • Нет связанных вопросов^_^