【发布时间】:2012-11-10 23:18:10
【问题描述】:
我一直在想办法解决这个问题:
There must be an @Id field (String, Long, or long)
虽然类中有@Id注解。我试过做 mvn clean,Eclipse 项目 clean,没有编译时错误。但是,当我运行我的应用程序并尝试保留已注册的实体时,我收到此错误。
我正在使用 Objectify-4 并使用 OfyLoader 模式。
代码:
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;
}
}
【问题讨论】:
-
当然,我已经用实体代码更新了我的问题,我实际上创建了一个新的 TestEntity 只是为了测试一下,仍然有同样的问题。
-
我猜你需要从其他地方导入
@Id。 -
类路径上还有没有旧的 (objectify3) jar?假设您致电
register(TestEntity.class),您的代码似乎没有任何问题。如果您仍然需要帮助,可以尝试发布错误的完整堆栈跟踪。
标签: java google-app-engine objectify