如果我知道ID,如何通过其唯一ID获取数据存储实体?

时间:2013-06-18 10:43:56

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

这就是我创建实体的方式

Key reviewsKey = KeyFactory.createKey("Reviews", "Reviews");        
Entity reviewEntity = new Entity("aReview", reviewsKey);
....

这就是我试图通过其键

获取实体的方式
Key key = KeyFactory.createKey("Reviews", "Reviews");
Entity reviewEntity = datastore.get(key.getChild("aReview", reviewId));
....

我知道有一个key = 14的实体,但我一直得到一个没有找到实体的例外

  

评论( “评论”)/ aReview( “14”)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是当它应该是Long

时它正在寻找一个字符串ID

我已将它解析为Long并且现在可以正常工作。

Key key = KeyFactory.createKey("Reviews", "Reviews");
Entity reviewEntity = datastore.get(key.getChild("aReview", Long.parseLong(reviewId)));