[英]Combine parent child entities in Objectify
我在数据存储区中,对象化了,我有两个Kinds 1-posts 2-comments。
帖子是评论的父级。
我想在objectify中获得所有带有最近3条评论的帖子。
我知道如何使用祖先关系获得评论。 但是我如何将这些与帖子结合在一起。
ofy().load().type(Comments.Class).ancestor(parentPostKey).limit(3).list();
我已经知道Post的ID,所以发布帖子也很容易
ofy()。load()。key(key).now();
但是,如何将这两个查询合而为一。 然后将结果返回到单个类中。
ResultClass results = // Combine query
// Foreach
results.getPost().getContent();
results.getComment().getContent();
// end Foreach
有可能吗? 如果不是,那有什么选择。
请提出您的建议。
您无需将评论设为Posts的子级。 这将以各种方式限制您的使用,最重要的是,您可以在帖子中添加评论的速率将被限制为大约1 /秒(因为它们都在同一实体组中)。
相反,只需将Key<Post>
保存在Comment
实体中:
@Entity
public class Comment {
//...
@Index
Key<Post> parentPost;
//...
}
然后,只需查询所有将parentPost
设置为特定值的注释即可:
ofy().load().type(Comment.class).filter("parentPost", postKey.getRaw()).limit(3).list();
另外,您可以将Post
类别中Comment
实体的Key
存储在List<Key<Comment>>
,然后使用@Load
批注有效地获取它们,但是您将面临与之前相同的速率限制问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.