自动增量列 i JDO、GAE
我有一个包含一些字段的数据类,其中一个是我认为是 PK 的 URL,如果我添加一个新项目(进行新的同步)并保存它,如果它是相同的 URL,它应该覆盖数据库中的项目。但我还需要一个“正常”长 id,它针对数据库中的每个对象递增,对于这个对象,除非我将其标记为 PK,否则我总是得到 null,如何才能获得此增量但不将该列作为我的 PK?
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long _id;
@Persistent
private String _title;
@PrimaryKey
@Persistent
private String _url;
/维克托
I have a data class with some fields, one is a URL that I consider the PK, if I add a new item (do a new sync) and save it it should overwrite the item in the database if it's the same URL. But I also need a "normal" Long id that is incremented for every object in the database and for this one I always get null unless I tags it as a PK, how can a get this incrementation but not have the column as my PK?
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long _id;
@Persistent
private String _title;
@PrimaryKey
@Persistent
private String _url;
/Viktor
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是可行的:
用您的密钥填充
_url
并在保存对象时保留_id
未设置。然后应该自动填充_id
,尽管我不确定它是否是一个顺序 ID。信息来源:Google AppEngine 官方维基。
This works:
Populate
_url
with your key and leave_id
unset when saving your object._id
should then be automatically populated, though I am not sure whether it is going to be a sequential-id or not.Information source: official Google AppEngine wiki.