У меня есть простой проект CRUD в скаляре, и в качестве ORM я использую squeryl. Я хочу создать несколько таблиц, которые связаны друг с другом. На этой линии:Как разрешить ошибку «Не удается разрешить символ ===»
val questionToAnswer = CustomTypesMode.oneToManyRelation(questions,answers) via ((q,a) => q.id === a.question)
У меня есть ошибка компиляции:
Cannot resolve symbol ===
Мои зависимости являются:
val scalatraVersion = "2.4.0-RC2-2"
libraryDependencies ++= Seq(
"org.scalatra" %% "scalatra" % scalatraVersion,
"org.eclipse.jetty" % "jetty-webapp" % "9.3.0.M2",
"org.scalaquery" % "scalaquery_2.9.1" % "0.10.0-M1",
"org.squeryl" % "squeryl_2.8.0" % "0.9.5-RC2",
"joda-time" % "joda-time" % "2.9.1",
"postgresql" % "postgresql" % "9.1-901.jdbc4",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016")
Мой IDE является IntelliJ Idea 14.1.5. Мои схемы является:
object AppSchema extends Schema{
val questions = table[Question]
val answers = table[Answer]
val questionToAnswer = CustomTypesMode.oneToManyRelation(questions,answers) via ((q,a) => q.id === a.question)
}
case class Question (
id:Long,
title:String,
content: String,
rank: Int,
createdDate: DateTime,
updatedDate: Option[DateTime]
){
lazy val answers = AppSchema.questionToAnswer.left(this)
}
case class Answer(
id: Long,
content: String,
rank: Int,
createdDate: DateTime,
updatedDate: Option[DateTime]
){
lazy val question = AppSchema.questionToAnswer.right(this)
}
Что я делаю неправильно? Почему он не может разрешить символ «===»
Оба «2.8.0» и «2.9.1» являются _very_ старыми версиями Scala. Текущая версия Scala - 2.11.7. Вы также почти всегда хотите написать что-то вроде '" org.scalaquery "%%" scalaquery ", которое получит версию, соответствующую вашей' scalaVersion'. –