【发布时间】:2016-10-28 16:25:15
【问题描述】:
我正在将 objectify 与 Google App Engine 一起使用(由他们的数据存储项目支持)。我对实体列表的工作方式有点困惑。
我有一些 Student 实体,还有一些 Teacher 实体。
我希望 Teacher 有一个 students 属性,即 Student 实体列表。
这似乎很简单,而且似乎工作正常。但是,我今天才注意到,当我修改 Student 的属性时,似乎并没有更新各种 Teacher 中的 Student的学生名单。例如,如果我更改学生的姓名并保存,教师的学生列表仍将保留其旧名称。就好像教师拥有该对象的本地版本一样。
正确吗?有什么方法可以让我存储实际的对象吗?还是我必须做一些事情,比如只存储 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;
}
提前致谢!
【问题讨论】:
-
您应该存储密钥。
-
你的意思是键列表而不是对象?
标签: java google-app-engine google-cloud-datastore objectify