2010-03-19 137 views
0

我在Google App Engine数据存储区中创建了一个表。它包含以下FIELDS(GROUPNAME,GROUPID,GROUPDESC)。我如何设置GROUPID作为主键?Google App Engine数据存储区 - 主键

我的代码如下:

@Entity 

@Table(name="group" , schema="PUBLIC") 

public class Creategroup { 

    @Basic 

    private String groupname; 

    @Basic 

    private String groupid; 

    @Basic 

    private String groupdesc; 



public void setGroupname(String groupname) { 

    this.groupname = groupname; 

} 

public String getGroupname() { 

    return groupname; 

} 

public void setGroupid(String groupid) { 

    this.groupid = groupid; 

} 

public String getGroupid() { 

    return groupid; 

} 

public void setGroupdesc(String groupdesc) { 

    this.groupdesc = groupdesc; 

} 

public String getGroupdesc() { 

    return groupdesc; 

} 

public Creategroup(String groupname, String groupid, String groupdesc 
    ) { 

    // TODO Auto-generated constructor stub 
    this.groupname = groupname; 

    this.groupid = groupid; 

    this.groupdesc = groupdesc; 


} 

} 

回答

1

您可以设置与@PrimaryKey注解的主键作为Defining Data Classes文档中的描述。

+1

您还需要@Persistent添加到每个你想保存在数据存储领域, @PersistenceCapable到课堂上。这是所有链接msw提供的。 – 2010-03-19 07:02:42

+0

嗨创建jpa应用程序使用以下链接,“http://code.google.com/appengine/docs/java/datastore/usingjpa.html”在他们使用@基本,我做什么 – user246160 2010-03-19 07:24:50

+0

@jason,@Persistent是只需要在默认情况下不持久的字段,这是其中的大多数。请参阅http://www.datanucleus.org/products/accessplatform_1_1/jdo/types.html获取类型列表及其默认持久性状态 – 2010-03-19 21:45:38

0

megala,page你(试过)链接到您的评论msw的答案包含下面的文字,应该回答你的问题。我认为如果你仔细阅读整个页面,你将能够成功地保存一些数据。

数据类必须具有公共或 保护默认的构造和一个 字段专用于存储相应的数据存储区 实体的主 键。您可以选择4 不同类型的关键字段,每个 使用不同的值类型和 注释。 (请参阅创建数据:键 以获取更多信息)最简单的 键字段是一个长整型值 自动通过JPA填充 整个集体的所有其他 实例中唯一的值当对象 保存到数据存储为 第一次。长整数键使用 @Id注释和 @GeneratedValue(策略= GenerationType.IDENTITY)注释:

相关问题