[英]Query with Objectify, parent and children
我想知道是否可以在同一查詢中查詢班級父親和兒子。
@Entity
public class Blog {
@Getter
@Setter
@Id
String id;
@Getter
@Setter
int popularity;
}
@Entity
public class Post {
@Id
@Getter
@Setter
String id;
@Getter
@Setter
String title;
@Getter
@Setter
long published;
@Getter
@Setter
String locale;
@Getter
@Setter
@Load
private Ref<Blog> parent; // or @Parent?
}
這可能嗎? - >
查詢列表類型“發布”>過濾區域設置“發布”>發布的訂單“發布”> 訂單受歡迎程度“博客”
謝謝。
你不能。 這將是一個聯接,並且應用引擎不支持查詢中的聯接。 您需要將要過濾的數據復制到Post實體上,或者執行2個單獨的查詢並在內存中進行設置的交集。
如果將“發布”中的“引用”字段設為@Parent字段,則可以在Blog上執行ancestor()查詢並獲取所有內容(ancestor()包括父實體)。 但是,除非您通過類型(即Post)進行過濾,否則您將獲得該實體組中的所有內容。
這種微優化幾乎毫無意義。 它不會為您節省任何金錢,也不太可能為您節省任何明顯的延遲,尤其是如果您@Cache the Blog。
當然可以! 為此,請將“流行度”字段添加到“郵政”中。 如果Blog的流行程度發生變化,則每天或每周都必須更新該值。
信息的重復是典型的,在noSql數據庫中很常見,不要想那么多:永遠想一想:“使所有數據准備就緒(以最少的請求計數)的方式進行讀取”,在noSql中同步數據更新是很常見的dbs支持cassandra或數據存儲。 嘗試閱讀有關該主題的一些文檔
@adevine,你不能說不! 如果你不知道
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.