2015-02-17 33 views
5

Ebean ile kombinasyon halinde birinci sınıf için Playframework kullanıyorum. Eklediğim yüzdenModelim bu sunucuda kayıtlı bir Entity Bean değil midir?

Şimdi veritabanı olarak MySQL kullanmak istiyorum: benim dosyasına koyarak dosyaya

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

.

Ben onu kullanmak istemediğim için Application.conf dosyasındaki evrim içeriğini devre dışı bıraktım.

evolutionplugin=disabled 

benim modelleri için ebean varsayılan konumu ekledi: paketim modellerinde

ebean.default="models.*" 

Böyle bir sınıf Kullanıcı var:

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 
    ); 
} 

Şimdi sadece istiyorum her kullanıcıyı şu şekilde al:

Bu bana verir:

[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] 

Benim veritabanı benim Kullanıcı sınıfı olan her alana sahip.

Fikir sahibi olan var mı?

cevap

9

Sorunu buldum.

@Entity ek açıklaması ile sınıfa not eklemeyi unuttum. Bu sorun çözüldü.