我正在使用 eclipse 创建一个基于应用程序引擎的应用程序,其中我还使用应用程序引擎数据存储(使用 JPA)使用端点。我在https://developers.google.com/eclipse/docs/endpoints-addentities的帮助下编写了一个测试应用程序, 它运行良好。
现在我想创建一个实体,在其中定义我自己的密钥,而不是由系统自动分配。有人可以帮助我了解在我的 Notes.java 实体类中需要做什么。默认情况下,Notes.java 是这样的。
package com.bfp.mypackage;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Note {
@Id
private String id;
private String emailAddress;
private String description;
public Note() {
}
public String getId() {
return id;
}
public String getDescription() {
return description;
}
public String getEmailAddress() {
return emailAddress;
}
public void setId(String idIn) {
this.id = idIn;
}
public void setDescription(String description) {
this.description = description;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
}
当我测试此代码时,我看到在我的开发应用程序服务器管理控制台中创建的 Note 实体具有我提供的值(一个电子邮件地址、一个 dsescription 和一个 ID(我在那里传递时间戳))。当我在管理控制台中查看实体时,我看到创建了另外两个字段。一个“Key”和其他“Write ops”。现在,据我所知,“Key”字段是由 java 自动生成的。无论如何我可以将我的 emailAddress 字段设置为 Key 吗?如果是这样,那么我需要在上面的代码中做些什么改变。这样我就可以使用 emailAddress 作为每个实体的唯一键。