在appengine中找出ID的种类

时间:2012-01-12 08:23:13

标签: java google-app-engine

给定数据存储区id,是否有办法找出该ID的对象种类。或者我错误地认为app引擎中的id是唯一的,无论种类如何?我在Java上使用低级api。

由于 克拉斯

3 个答案:

答案 0 :(得分:2)

ID仅对于给定种类和父实体是唯一的,而不是全局的,因此无法获得仅给出ID的实体。如果您不知道那种,则需要传输编码的实体密钥,而不仅仅是ID。

答案 1 :(得分:0)

根据我的经验,您的假设是有效的,数据存储区提供的ID似乎是唯一的,无论种类如何。

编辑: 对不起我错了。显然,正如Nick在评论中确认的那样,ID保证仅对同一种类是唯一的,我的观察仅适用于开发服务器中的实体。

但是,我现在害怕知道Kind与某个ID相关联的唯一方法是从数据存储区加载实体并检查getKind()值。

答案 2 :(得分:0)

如果您有实体密钥,则可以使用getKind获取实体密钥(它们实际上是解码密钥的一部分)。

但是你需要Kind才能使用KeyFactory.createKey从id构造一个完整的密钥。