新玩!遇到问题:请使用@ javax.persistence.Entity注释注释您的JPA模型

时间:2011-07-11 15:16:09

标签: jpa model playframework

新手,只想尝试关注视频:http://www.playframework.org/

我到目前为止,我想在创建Task-class之后创建任务列表。我什么时候重装我得到这个错误:

发生UsupportedOperationException:请使用@ javax.persistence.Entity注释注释您的JPA模型。“

我正在使用Eclipse。另请注意,我已将任务更改为:

Person.java中的My Person模型/类定义

    package models;

    import play.*;
    import play.db.jpa.*;
    import javax.persistence.*;
    import java.util.*;

    public class Person extends Model{
        public String title;
        public boolean done;

        public Person(String title){
            this.title = title;
        }
    }

和application.java:

    package controllers;

    import play.*;
    import play.mvc.*;
    import java.util.*;
    import models.*;

    public class Application extends Controller {

        public static void index() {
            List persons = Person.find("order by id desc").fetch();
            render(persons);
        }
    }

错误与此行相关联:         列出人物= Person.find(“由id desc命令”).fetch();

3 个答案:

答案 0 :(得分:5)

将@Entity添加到模型类的顶部。

答案 1 :(得分:1)

让我们清楚一点,使用Javax Entity注释而不是Hibernate!正如官方文档中所建议的那样!

答案 2 :(得分:1)

如前所述,在Model类之前添加@Entity。

在您的示例中,Person类看起来像这样:

package models;

import play.*;
import play.db.jpa.*;
import javax.persistence.*;
import java.util.*;

@Entity
public class Person extends Model{
    public String title;
    public boolean done;

    public Person(String title){
        this.title = title;
    }
}