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