【问题标题】:Incremental IDs on ObjectifyObjectify 上的增量 ID
【发布时间】:2013-10-03 06:11:58
【问题描述】:

自从升级到 GAE 1.8 后,在 Objectify 中使用 @Id 进行注释时,我得到了分散的 ID:

@Id
private Long id;

尽管我理解在避免云平台上的热点方面需要分散的 id,但 Objectify 有没有办法恢复旧的增量 id?必须在 UI 中显示十六进制值(如 1DZENH6BSOW)以避免生成大量的 64 位 id,但这并不能解决问题。

我很高兴有一个辅助注释@IdLegacy 与@Id 一起工作,然后@Id 仍将生成长ID,我可以使用旧ID 进行显示。

解决方案:

在我的构造器中,我有一段简单的代码,如果不存在,则分配一个 id:

if (getId() == null){
    ObjectifyFactory f = new ObjectifyFactory();
    Key<MyEntity> key = f.allocateId(MyEntity.class);
setId(key.getId());
}       

【问题讨论】:

    标签: google-app-engine google-cloud-datastore objectify


    【解决方案1】:

    据我所知,Objectify 会传递 App Engine Datastore 的分散 id 行为。

    对 Objectify 问题跟踪器的快速检查并未显示任何人已请求增量 ID。向 Objectify 开发人员提交请求。 http://code.google.com/p/objectify-appengine/issues/list

    【讨论】:

    • 谢谢 Dave,我会提交请求。
    猜你喜欢
    • 2016-07-08
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2012-10-09
    • 2012-06-05
    • 2018-04-11
    相关资源
    最近更新 更多