【发布时间】:2017-03-26 14:36:17
【问题描述】:
我使用 Quill 库编写了这个简单的应用程序来查询 Cassandra
QuillSample.scala
import java.util.UUID
import io.getquill._
import scala.concurrent.ExecutionContext.Implicits.global
object QuillSample extends App {
lazy val ctx = new CassandraSyncContext[SnakeCase]("ctx")
import ctx._
val getAllRows = quote {
query[Movies]
}
val result = ctx.run(getAllRows)
println(result)
}
case class Movies(uUID: UUID,
avgRating: Float,
genres: Set[String],
name: String,
releaseDate: java.util.Date,
videoReleaseDate: java.util.Date)
build.sbt
name := "QuillSample"
version := "1.0"
scalaVersion := "2.12.0"
libraryDependencies ++= Seq(
"io.getquill" % "quill-cassandra_2.11" % "1.0.0"
)
application.properties
ctx.keyspace=movielens_small
ctx.preparedStatementCacheSize=1000
ctx.session.contactPoint=192.168.1.169
ctx.session.withPort=9042
ctx.session.queryOptions.consistencyLevel=LOCAL_QUORUM
ctx.session.withoutMetrics=true
ctx.session.withoutJMXReporting=false
ctx.session.maxSchemaAgreementWaitSeconds=1
ctx.session.addressTranslater=com.datastax.driver.core.policies.IdentityTranslator
这会返回一个编译时错误
Error:(14, 12) Can't find an implicit `SchemaMeta` for type `com.abhi.Movies`
query[Movies]
根据此处给出的文档
https://github.com/getquill/quill/blob/master/CASSANDRA.md
我不确定还需要什么其他代码来满足缺失的隐式。
【问题讨论】:
-
这里没有足够的代码给出正确的答案,当给定范围内没有可用的隐式变量时,就会出现隐式错误。从您到目前为止显示的代码中,没有迹象表明需要暗示
-
我已经编辑了我的问题,并添加了一个指向我的 github 代码仓库的链接。你会在那里找到整个代码和 sbt 文件。
-
您是否尝试过切换到 Scala 版本 2.11.8?然后会发生什么...?