必须有@Id字段(String,Long或long)

时间:2012-11-10 23:18:10

标签: java google-app-engine objectify

我一直想弄清楚如何解决这个问题:

There must be an @Id field (String, Long, or long)

虽然班上有@Id年份。我试过做mvn clean,Eclipse项目干净,没有编译时错误。但是,当我运行我的应用程序并尝试保留已注册的实体时,我收到此错误。

我正在使用Objectify-4并使用OfyLoader模式。

CODE:

import java.util.List;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;

@Entity
public class TestEntity {
    @Id
    private Long id;
    private List<String> strList;

    public TestEntity() {}

    public TestEntity(List<String> strList){
        this.setStrList(strList);
    }

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public List<String> getStrList() {
        return strList;
    }
    public void setStrList(List<String> strList) {
        this.strList = strList;
    }
}

2 个答案:

答案 0 :(得分:2)

确保objectify 4在你的类路径上,并且唯一的id导入是:

import com.googlecode.objectify.annotation.Id;

答案 1 :(得分:0)

您应首先打包然后运行您的项目。因为如果您运行jetty,例如,运行操作无法看到注释