5

首先,这个问题可能看起来很像: Play Framework: PersistenceException: The type is not an registered entity? (Ebean)但它不是......

我正在尝试保存一个实体,但它甚至不呈现模板,在我重新启动 Play 后它只会给出主题中的错误。当然,应用程序会编译。

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

  • @Entity带有(javax.persistence.Entity)的注释模型
  • 模型扩展模型 ( 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]
4

3 回答 3

14

我在第一篇文章中描述了完全相同的问题。就我而言,这很奇怪,只是在运行

# play 

> clean
> compile
> run

该应用程序再次开始工作

于 2013-05-09T22:19:46.087 回答
0

问题是 Ebeans 配置,一些关联不正确。也许您更改了他们的应用程序模型中的某些内容并且没有记录在 Ebean 中。

于 2014-04-06T16:30:14.753 回答
-1

从日志中,您似乎必须设置 Datasource 用户:

Caused by: java.lang.RuntimeException: DataSource user is null?

您可以通过编辑 pour 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
于 2012-08-31T07:17:55.143 回答