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

Ref<?> modify a field from object and save it when saving containing object

我正在为 Google 云数据存储使用 Objectify。

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

示例:

我有这些 类,我将排除 setter 和 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 的名称。

有什么办法可以实现吗?

谢谢。

引用只是 - 对具有不同生命的不同实体的引用。没有级联保存。如果要保存驱动程序,请明确执行。