我正在使用Google App Engine的对象(由他们的数据存储项目支持)。我对实体列表的工作方式感到有些困惑。
我有一些学生实体,我有一些教师实体。
我希望教师拥有学生属性,即学生实体列表。
看似简单,似乎工作正常。但是,我今天刚才注意到,当我修改学生的属性时,它似乎不会更新各种教师中的学生的学生列表。例如,如果我更改学生的姓名并保存,则教师的学生列表仍将保留其旧名称。几乎就像老师有自己的本地版本的那个对象。
这是对的吗?有什么办法可以让我存储实际的对象吗?或者我必须做一些事情,比如只存储ID?
任何帮助都将不胜感激。
以下是课程,供参考:
@Entity
@Index
public class StudentObj {
@Id public Long id;
public String StudentName;
}
@Entity
@Index
public class TeacherObj {
@Id public Long id;
public String TeacherName;
public List<StudentObj> students;
}
提前致谢!
答案 0 :(得分:1)
使用List<Student>
,您将学生数据嵌入教师对象中。要创建指向独立实体的链接,请在教师中存储List<Key<Student>>
或List<Ref<Student>>
。