在ebean数据库中存储textarea内容

时间:2012-10-11 23:29:17

标签: playframework playframework-2.0 ebean

我认为这个问题可能有点愚蠢 - 我正在制作我的第一个Play项目,因此我仍在训练中试图获得对该软件的概述;)

好吧,我有一个包含textarea的页面。用户应该能够在那里输入文本并将其永久存储在标准的ebean数据库中。 但存储永远不会有效,我找不到原因!

这是数据库对象的类定义:

public class Entry extends Model {
    @Required
    public String   text;   
    public String   studentName;
    @Id
    public long     id;
    public static   Finder<Long, Entry> finder = new Finder<Long, Entry>( Long.class, Entry.class);

    public static Entry getMe(Long id) {
        return finder.byId(id);
    }
    public static void saveMe(Entry toDataBase) {
        toDataBase.save();
    }
    // ....
 }

以下是文字区域:

@(entryForm: Form[Entry])
@import helper._
@main("xy") {

<h1>report for @entryForm("studentName")</h1>

    @form(routes.Application.storeReport()) {
        @textarea(entryForm("report:"))
        <input type="submit" value="Store Report">
    }
}

Application.storeReport()方法entryForm.bindFromRequest()。hasErrors()始终为true ..

并将@textarea(entryForm("report:"))更改为@textarea(entryForm("text"))(...告诉我,实际上我想填写的3个Entry字段中的哪一个)甚至会导致PersistenceException:

  

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

ToDoList example上定位我无法检测如何注册一个权利,而不是让它扩展play.db.ebean.Model!

1 个答案:

答案 0 :(得分:1)

我认为您忘记了Entry类的@Entity注释。