应用程序引擎标识符。密钥与 ID
为了识别 Google App Engine 中的 JDO 对象,我使用 Key
类型。它工作正常,但是当我需要通过 url 传递它时,它会变得有点长。
例如:http://mysite.com/user/aghtaWx1LWFwcHIZCxIGTXlVc2VyGAMMCxIHTXlJbWFnZRgHDA
在管理查看器中查看我的实体时,我可以看到数据存储还为我的实体对象设置了一个“id”,这似乎是一个增量数值,与 Key 字符串相比相当短。我可以用它来获取有关我的对象的信息吗?我该怎么做?我尝试使用 getObjectbyId()
与 id 而不是密钥...它不起作用。
有什么想法吗?
To identify my JDO objects in Google App Engine I use the Key
type. It works fine but when I need to pass this through urls it gets sort of long.
For example: http://mysite.com/user/aghtaWx1LWFwcHIZCxIGTXlVc2VyGAMMCxIHTXlJbWFnZRgHDA
When viewing my entities in my admin viewer I can see that the data-store also sets an "id" for my entity object, which seems to be an incremental numeric value, which is quite short compared to the Key string. Can I use this to grab information on my object? How do I do this? I tried using getObjectbyId()
with the id instead of the key... it doesn't work.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,你可以这样做。每当您需要获取 ID 时,都可以使用以下方法调用。假设您正在使用名为
user
的实体类User
对象:user.getKey().getId()
。 id 的类型为long
。请参阅 JavaDoccom.google.appengine.api.datastore.Key
的详细信息。只要您拥有 ID,您就可以从中构建
Key
,然后简单地查询该对象。Yes, you can do that. Whenever you need to get the ID you can use the following method call. Assume you are using an object of the entity class
User
nameduser
:user.getKey().getId()
. The id is of typelong
. See the JavaDoc ofcom.google.appengine.api.datastore.Key
for more information.Whenever you have the ID you can build the
Key
from it and then simply query for the object.您需要将实体中的 id 定义为主键:
然后您可以尝试以下操作:
You will need to define the id in your Entity as a primary key:
Then you can try this: