Play Framework:2.0.2 PersistenceException:无法在Ebean服务器中注册类

use*_*212 5 persistence playframework ebean playframework-2.0

首先,这个问题可能看起来很相似: Play Framework:PersistenceException:该类型不是注册实体?(Ebean)但不是......

我正在尝试保存一个实体,但它甚至没有呈现模板,在我重新启动Play之后它只是在主题中给出了错误.当然,该应用程序编译.

我已经完成了使用EBean和Play的所有步骤:

  • 带有@Entity(javax.persistence.Entity)的带注释模型
  • model扩展Model(play.db.ebean.Model)
  • Ebean在我的启用application.conf ebean.default="models.*"(我的类在models包中)

有什么建议?测试我能做到吗?要检查的事情?公平地说,stackoverflow是我的最后手段......

提前致谢,

完整的堆栈跟踪:

play.api.Configuration$$anon$1: Configuration error [Cannot register class [models.Producer] in Ebean server]
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1.jar:2.0.2]
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1.jar:2.0.2]
    at play.Configuration.reportError(Configuration.java:119) ~[play_2.9.1.jar:2.0.2]
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:71) ~[play_2.9.1.jar:2.0.2]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2]
Caused by: java.lang.ExceptionInInitializerError: null
    at java.lang.Class.forName0(Native Method) ~[na:1.7.0_02]
    at java.lang.Class.forName(Class.java:264) ~[na:1.7.0_02]
    at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:69) ~[play_2.9.1.jar:2.0.2]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.2]
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.3]
Caused by: java.lang.RuntimeException: DataSource user is null?
    at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:198) ~[ebean.jar:na]
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.getDataSource(DataSourceManager.java:210) ~[ebean.jar:na]
    at com.avaje.ebeaninternal.server.lib.sql.DataSourceGlobalManager.getDataSource(DataSourceGlobalManager.java:63) ~[ebean.jar:na]
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:427) ~[ebean.jar:na]
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.setDataSource(DefaultServerFactory.java:388) ~[ebean.jar:na]
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:168) ~[ebean.jar:na]
Run Code Online (Sandbox Code Playgroud)

use*_*932 14

我有完全相同的问题在第一篇文章中描述.在我看来,这很奇怪,只是跑步

# play 

> clean
> compile
> run
Run Code Online (Sandbox Code Playgroud)

该应用程序再次开始工作


nde*_*rge -1

从日志来看,您似乎必须设置数据源用户:

Caused by: java.lang.RuntimeException: DataSource user is null?
Run Code Online (Sandbox Code Playgroud)

您可以通过编辑 conf/application.con 文件来做到这一点:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:DB_NAME"
db.default.user=sa        <-- HERE !!
db.default.password=""
db.default.logStatements=true
Run Code Online (Sandbox Code Playgroud)