簡體   English   中英

在Objectify中合並父子實體

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM