如何通过java for Play配置ebean服务器!2.1.1

时间:2013-06-06 22:17:53

标签: java playframework ebean

嗨我在使用ebean和播放配置时遇到了一些问题,好像我无法让ebean服务器认出我项目中的某些课程,我得到了

  

[PersistenceException:类型[class model.mappe.NodoSemplice]不是注册实体?如果没有明确列出要使用的实体类,Ebean将在类路径中搜索它们。如果实体位于Jar中,请检查ebean.properties文件中的ebean.search.jars属性或检查ServerConfig.addJar()。]

model.mappe.NodoSemplice就是这样的

  

@Entity

     

公共类NodoSemplice扩展了NodoApprendimento {

  

@Entity

     

@Table(名称= “nodi_app”)

     

公共抽象类NodoApprendimento扩展了Model {

导入是正确的,ebeanserver配置是这样的

    ServerConfig def = new ServerConfig();
    def.setName("fluidefault");
    def.setDataSource(play.db.DB.getDataSource("fluiddefault"));

    //i package delle classi di sistema
    def.addPackage("model.contributi.*");
    def.addPackage("model.corpi.*");
    def.addPackage("model.mappe.*");
    def.addPackage("model.utenti.*");

    def.setDdlGenerate(true);    //per generare il DataDefinitionLanguage

    fluidefault = EbeanServerFactory.create(def);

保存是通过

完成的
 public void save(NodoApprendimento nodoApprendimento){
    nodoApprendimento.save(fluidefault.getName());
}

服务器引导程序很好并且还在与它通话但是我仍然遇到了持久性异常,因为服务器无法将该类识别为实体

1 个答案:

答案 0 :(得分:0)

检查以下3点:

  1. 尝试使用具体类NodoSemplice注释表(@table),而不是抽象类NodoApprendimento

    将表格与具体类绑定更有意义。

  2. 确保您连接的数据库中存在名为nodi_app的表,架构为public

  3. application.conf中,启用Ebean:

    ebean.default="models.*"