Play Framework: 2.0.2 PersistenceException: Unable to register class on Ebean server

First of all, this question may seem similar: Play Framework: PersistenceException: type is not a registered object? (Ebean) , but that is not ...

I am trying to save an object, but it does not even display the template after a restart. Playback just gives an error in the subject. Of course, the application compiles.

I took all the steps to use EBean with Play:

  • annotated model with @Entity(javax.persistence.Entity)
  • model extends model ( play.db.ebean.Model)
  • Ebean is included in mine application.conf ebean.default="models.*"(my classes are in the package models)

Any suggestions? Tests that I can do? Check what? In fairness, stackoverflow is my last resort ...

Thanks in advance,

Full stack trace:

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]
+5
source share
3 answers

I had exactly the same problem described in the first post. Strange, in my case, just run

# play 

> clean
> compile
> run

the application started working again

+14
source

The problem is the configuration of Ebeans, some association is incorrect. You may have changed something in your application models and are not written to Ebean.

0
source

, , 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
-1
source

All Articles