我正在使用 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
的名称。
有什么办法可以做到这一点吗?
谢谢。
引用就是 - 引用具有不同生命的单独实体。没有级联保存。如果要保存驱动程序,请显式执行。