0

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

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

model.mappe.NodoSemplice类在哪里

@实体

公共类 NodoSemplice 扩展 NodoApprendimento {

@实体

@Table(name="nodi_app")

公共抽象类 NodoApprendimento 扩展模型{

导入是正确的,并且 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());
}

服务器引导程序很好并且也在与它交谈,但我仍然得到持久性异常,因为服务器无法将类识别为实体

4

1 回答 1

0

检查以下3点:

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

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

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

  3. 在您的application.conf中,启用 Ebean:

    ebean.default="models.*"
    
于 2013-06-09T05:52:44.753 回答