对象数据库不是oracle光滑类型安全扩展的成员例外



我正在尝试移植scala/angular教程(https://github.com/pcleary00/play-angularjs)转移到oracle,使用类型安全扩展进行slick。非常感谢任何帮助/指导/x我做了以下更改:1.在build.scala 中添加了库依赖项

resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/maven-releases/"     
val appDependencies = Seq(    
jdbc,
"com.typesafe.slick" %% "slick" % "2.0.0-M3",
"com.typesafe.play" %% "play-slick" % "0.5.0.8",
"com.typesafe.slick" %% "slick-extensions" % "2.0.0-M3",    
"org.joda" % "joda-money" % "0.9"
)

然后应用程序.conf

db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.url="jdbc:oracle:thin:host-name:port/sid"
db.default.user=scott
db.default.password="tiger"

然后进口:

import com.typesafe.slick.driver.oracle.OracleDriver.simple._
import scala.slick.driver.ExtendedDriver
import scala.slick.lifted.ColumnOption.PrimaryKey
import Database.threadLocalSession
import scala.slick.session.Database
import play.api.db.DB
import play.api.Play.current

看起来它能够找到扩展,但我得到了以下错误:

[info] Compiling 8 Scala sources and 1 Java source to C:tmpplay-angularjs-mastertargetscala-2.10classes...
[error] C:tmpplay-angularjs-masterappGlobal.scala:4: object Database is not a member of package scala.slick.session
[error] import scala.slick.session.Database
[error]        ^
[error] C:tmpplay-angularjs-masterappGlobal.scala:7: object Database is not a member of package scala.slick.session
[error] import scala.slick.session.Database.threadLocalSession

有人能帮忙指一下资源吗?

play slick仍然是针对slick的1.0.1版本构建的,所以如果你想在play中使用slick,你可能需要使用该版本的slick,而不是2.0.0-M3。看起来他们有一个悬而未决的问题需要升级。

正如孔所指出的,现在使用1.0.1和play slick。IIRC玩滑头应该自动带有这种依赖性。也不要使用threadlocalSession。使用db.withSession{ implicit session => ... /* your queries here */ }更安全。此外,您不需要导入数据库对象。它应该与.simple._导入一起提供。以下是您开始使用所需的信息:http://slick.typesafe.com/doc/1.0.1/gettingstarted.html#dependencies

最新更新