关于同样的错误存在很多问题,但这些答案对我没有帮助。
错误是:
[CompletionException:javax.persistence.PersistenceException:默认的EbeanServer尚未定义?这通常通过ebean.datasource.default属性设置。否则,应通过registerServer()]
以编程方式注册
引发此错误的代码:
public Result newuser() {
Form<UserAuth> userform = formFactory.form(UserAuth.class).bindFromRequest();
if(userform.hasErrors()) {
return landing();
}
userform.get().save();
flash("success", "User " + userform.get().login + " has been added");
return landing();
}
build.sbt:
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
evolutions,
"com.adrianhurt" %% "play-bootstrap" % "1.1-P25-B3",
"mysql" % "mysql-connector-java" % "5.1.21"
)
plugins.sbt:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.10")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.2")
application.conf:
play.evolutions {
#db.default.enabled = false
}
play.db {
config = "db"
default = "typobank"
prototype {
# Sets a fixed JDBC connection pool size of 50
#hikaricp.minimumIdle = 50
#hikaricp.maximumPoolSize = 50
pool = "default"
driver = com.mysql.jdbc.Driver
user=user
password=pass
url="jdbc:mysql://localhost/typobank"
hikaricp {
#connectionTestQuery = "SELECT 1"
}
}
}
db {
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/typobank?characterEncoding=UTF-8"
db.default.username=hiddenuser
db.default.password=pass
ebean.default=["models.*"]
}
答案 0 :(得分:0)
我认为应该足够像这样的application.conf:
db {
default.driver=com.mysql.jdbc.Driver
default.url="mysql://hiddenuser:pass@localhost/typobank?characterEncoding=UTF-8"
default.username=hiddenuser
default.password=pass
}
ebean.default=["models.*"]
答案 1 :(得分:0)
令人难以置信,但在丢弃默认配置垃圾后,我已经完成了所有工作!
这里使用纯配置:
play.crypto.secret = "changeme"
play.i18n.langs = [ "en" ]
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/typobank?characterEncoding=UTF-8"
db.default.username=hiddenuser
db.default.password=pass
ebean.default=["models.*"]
答案 2 :(得分:0)
你的
db {
db.default...
}
评估为db.db.default
,这就是未检测到的原因。这是首要的主要原因。一定是
db {
default.driver=com.mysql.jdbc.Driver
default.url="jdbc:mysql://localhost/typobank?characterEncoding=UTF-8"
default.username=hiddenuser
default.password=pass
}