我想重新访问this old SO post,其中说数据存储区永远不会有负ID,但是对于旧的M / S数据存储区而言,我认为不再适用。
(请注意,此问题与自动生成功能的常见问题不同,后者仍然不会产生负数。)
我发现SO的共识是数据存储区不支持否定ID,但我一直在使用它们作为我应用程序中的一种。
当我创建它们时,我手动将负数分配给我的实体的(Java)长id字段。当我在GAE控制台数据查看器中查看实体时,它们正确显示为负数,例如“ID = -8673495404141992816”。
也许DS不支持负面ID的想法只是M / S数据存储的遗留物,或者我无意中进入了不受支持和未知的领域 - 在这种情况下我应该更改我的应用程序!
另外,IMO,这是关于DS的一个相当基本的问题,所以我想清楚答案。毕竟,我想选择使用64位哈希函数生成ID,这可能会产生负数。
答案 0 :(得分:0)
ID似乎是64位值。但是,默认的应用程序ID生成器将它们限制为正位53位值,以便它们可以使用Javascript。你可能在未知领域漂浮着。
或者至少很少使用的领域。