我正在使用appengine数据存储区,并且我的所有实体都将Long ID作为PrimaryKey . 我使用这些ID与客户端进行通信,因为完整的密钥需要更多的带宽才能传输 .
现在,我想形成实体组,以便我可以在事务中执行复杂的操作,并且从http://code.google.com/appengine/docs/java/datastore/transactions.html#Entity_Groups看,我需要使用Keys或String编码的键 - 简单的Longs不是一个选项 .
我不介意重构一下使用Keys,但我仍然希望避免通过网络发送庞然大物 . 如何为主键为Key的实体获取唯一(每种)Long标识符?
1 回答
您不必使用名称(字符串) . 所有采用名称的KeyBuilder方法也都采用了带有ID(longs)的对应方法 .
对于传输,您只需要Key的名称或id部分 . 一旦知道了id或名称,就可以重建密钥服务器端 . 如果它是子实体,则为'll need to know both the parent and the child'的名称或ID .