如何使用app引擎中生成的默认ID

时间:2014-03-26 12:07:48

标签: java google-app-engine

我是app引擎开发的新手。我正在使用Java进行开发。每当添加新实体时,它都会显示“id = 5076324926357504”,它不是实体的一部分。我对此几乎没有疑问:

  1. 整个桌子中这是独一无二的吗?
  2. 如何将其用作主键?

2 个答案:

答案 0 :(得分:2)

您可以通过在实体中创建一个属性(ID)来间接将其用作主键。例如,在下面的代码中,slno也是种类的属性"注册"用作实体ID。

Key dbkey=KeyFactory.createKey("Registration", slno); Entity E1= new Entity("Registration",dbkey); E1.setProperty("Slno",slno); E1.setProperty("Name",name);

现在,每当添加新实体时,其slno属性就作为唯一标识符,即只能添加一个包含唯一slno的实体。如果给出两次相同的slno,则不会创建新实体,而是覆盖前一个实体。

答案 1 :(得分:0)

  1. 是的,如果是自动生成的,那么ID对于那种(表)是唯一的。如果您手动分配,则需要确保在您的逻辑中是唯一的。
  2. 您可以调用实体的方法getId来获取它
  3. 看看: https://developers.google.com/appengine/docs/java/datastore/entities#Java_Kinds_and_identifiers