2015-02-17 5 views
5

Ich benutze Playframework zum ersten Mal in Kombination mit Ebean.Mein Modell ist KEINE Entity Bean, die bei diesem Server registriert ist?

Jetzt möchte ich MySQL als Datenbank verwenden, so fügte ich hinzu:

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="jdbc:mysql://localhost:3306/TestDb" 
db.default.user=root 
db.default.password="test" 

meiner Application.conf Datei.

Ich habe das Evolutionsplugin in der Datei Application.conf deaktiviert, weil ich es nicht verwenden möchte.

evolutionplugin=disabled 

ich hinzugefügt, um die ebean Standardverzeichnis für meine Modelle:

ebean.default="models.*" 

In meinem Paket Modelle Ich habe eine Klasse Benutzer wie diese bekommen:

import play.db.ebean.Model; 

import javax.persistence.Id; 

public class User extends Model { 
    @Id 
    private Integer id; 
    private String firstname; 
    private String lastname; 
    private String email; 
    private String token_facebook; 
    private String token_google; 
    private String reg_date; 
    private String id_facebook; 
    private String id_google; 

    public static Finder<Integer, User> find = new Finder<Integer, User>(
      Integer.class, User.class 
    ); 
} 

Nun ich möchte nur rufen Sie jeden Benutzer wie folgt ab:

User.find.all() 

Das gibt mir:

[error] play - Cannot invoke the action, eventually got an error: javax.persistence.PersistenceException: models.User is NOT an Entity Bean registered with this server? 
[error] application - 

! @6l806jcli - Internal server error, for (POST) [/register] -> 

play.api.Application$$anon$1: Execution exception[[PersistenceException: models.User is NOT an Entity Bean registered with this server?]] 
    at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.8.jar:2.3.8] 
    at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.8.jar:2.3.8] 
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.8.jar:2.3.8] 
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.8.jar:2.3.8] 
    at scala.Option.map(Option.scala:145) [scala-library-2.11.1.jar:na] 
Caused by: javax.persistence.PersistenceException: models.User is NOT an Entity Bean registered with this server? 
    at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:998) ~[avaje-ebeanorm-3.3.4.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:955) ~[avaje-ebeanorm-3.3.4.jar:na] 
    at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:991) ~[avaje-ebeanorm-3.3.4.jar:na] 
    at play.db.ebean.Model$Finder.all(Model.java:258) ~[play-java-ebean_2.11-2.3.8.jar:2.3.8] 
    at controllers.Register.register(Register.java:21) ~[classes/:na] 

Meine Datenbank jedes Feld, das meine User-Klasse hat.

Wer eine Idee?

Antwort

9

Ich habe das Problem gefunden.

Ich habe vergessen, die Klasse mit der Annotation @Entity zu kommentieren.

Dies löste das Problem.