28

我正在尝试 Slick 3.0.0-RC1,但遇到了一个奇怪的问题。

这是我的代码:

import slick.driver.SQLiteDriver.api._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Await
import scala.concurrent.duration.Duration

lazy val db = Database.forURL(
  url = "jdbc:sqlite:thebase.db",
  driver = "org.sqlite.JDBC"
)

case class Issue(id: Option[Int], name: String)     

class IssueTable(tag: Tag) extends Table[Issue](tag, "issue"){
  def id = column[Int]("issue_id", O.PrimaryKey)
  def name = column[String]("name")
  def * = (id.?, name) <> (Issue.tupled, Issue.unapply _)
}

val issueQuery = TableQuery[IssueTable]

Await.result(db.run(issueQuery.result), Duration.Inf) // This does not compile

错误是:

“无法解析符号结果”

阅读文档我真的不明白为什么这会失败。我在这里错过了什么吗?

解析度

szeiger 指出,这可能是“IntelliJ 的演示编译器”中的一个错误,而这很明显。

4

4 回答 4

11

我确实遇到了同样的问题,这是我为摆脱它所做的:

  1. 将 IntelliJ 更新到版本 14.1.3
  2. 使用 Scala 插件 1.5 版

我的 Scala 版本是 2.11.6

我希望这对可能遇到同样问题的人有所帮助!

于 2015-05-20T15:10:23.633 回答
3

如果有人遇到类似问题:

TableQuery 上没有结果方法

仔细检查您是否有import slick.jdbc.PostgresProfile.api._

于 2017-12-27T15:46:35.087 回答
0

这是我在使用 IntelliJ IDEA 时经常遇到的一个常见问题。

如果使用激活器,命令 - “激活器想法”帮助我解决了这个问题。

它重新创建了 .idea 和 IdeaProject.iml 文件,然后重新加载了项目。我目前使用的是 activator-1.3.4

于 2015-06-09T08:03:22.163 回答
-4

你可以试试

val result = db.withSession(implicit session => issueQuery.list)
于 2015-02-22T17:47:00.560 回答