Ref<?> 修改对象的字段并在保存包含对象时保存它



我正在使用 Objectify for Google Cloud Datastore。

我正在研究Ref<?>并尝试查看是否可以使用此注释修改对象的属性,但它似乎没有保存在我的数据存储中。

例:

我有这些课程,我将排除二传手和getter。

@Entity
class Car {
@Id Long id;
@Load Ref<Person> driver;    // Person is an @Entity
}
class Person {
@Id Long id;
String name;
}

如果我这样做

Car car = new Car();
car.driver = Ref.create(driverKey);
ofy().save().entity(car).now();
Car fetched = ofy().load().entity(car).now();
fetched.driver.get().setName("Pepito");
ofy().save().entity(car).now();

它不会更改数据库中Person的名称。

有什么办法可以做到这一点吗?

谢谢。

引用就是 - 引用具有不同生命的单独实体。没有级联保存。如果要保存驱动程序,请显式执行。

最新更新