0

こんにちは、ebean と play の設定に問題があります。プロジェクト内のいくつかのクラスを ebean サーバーに認識させることができないようです。

[PersistenceException: タイプ [class model.mappe.NodoSemplice] は登録されたエンティティではありませんか? 使用するエンティティ クラスを明示的にリストしない場合、Ebean はクラスパスでエンティティ クラスを検索します。エンティティが Jar にある場合は、ebean.properties ファイルの ebean.search.jars プロパティを確認するか、ServerConfig.addJar() を確認してください。]

クラスmodel.mappe.NodoSempliceはどこにあるのか

@実在物

public class NodoSemplice extends NodoApprendimento {

@実在物

@Table(name="nodi_app")

public abstract class NodoApprendimento extends 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());
}

サーバーのブートストラップは問題なく、それとも話していますが、サーバーがクラスをエンティティとして認識できないため、永続化例外が発生します

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 に答える