繁体   English   中英

Google App Engine实体的多个父级

[英]Google App Engine Multiple parents for an Entity

我正在App Engine中建立一个大学生数据库。 我需要能够列出注册课程的学生。 我有学生和班级作为实体。 问题是学生可以注册多个班级,因此我需要能够有多个班级实体作为学生的家长。 这可能吗? 文档没有讨论多位家长。

这个问题说Python支持它,但是我找不到Java的任何东西。

如果不是,我是否必须手动将学生证存储为班级中的成员数据?

对于交易,我建议引入一个新的合成父级,该父级将成为班级和学生实体组的父级。 如果您的情况可行。 或创建第三个实体,其中包含多个ID的关系,例如:

class StudentClasses {
   Long studentId
   Long[] classesIds 
} 

这样一来,您就可以更新student-> classs关系。

还要避免创建根超级父级,否则会降低性能(并且很可能会获得很多锁)。 并仔细阅读GAE中的亲子概念,您可能在实际情况中并不需要它。

我认为在您的情况下,您无需将班级实体作为学生实体的父级,因为学生可以不上课而存在。 所以我相信,您只想在班级和学生之间建立一种关系。 如果是这样,则可以创建一个学生可以拥有多个班级的关系。还可以查询以查找属于任何给定班级的所有学生。 您可以访问文档以获取有关关系对象化的更多信息。

在您的学生实体模型中,添加以下行:

List<Ref<Class>> classes = new ArrayList<>();

现在,在创建学生时,您需要与已经创建的班级建立关系,或者您也可以为已创建的学生分配新班级(取决于您的要求), 该问题可能会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM