[英]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.