使用 Objectify 在 Datastore 中进行查询时,何时加载 Ref?

When are Ref's loaded when making a query in Datastore with Objectify?

如果我的实体 Car 中有一个 @Load Ref<Driver> 并且我查询了 Cars,那么这些 refs 何时从数据存储中实际加载?

例如,在下面的代码中,驱动程序是在运行此查询时从数据存储中加载的吗?或者当我 return 端点末尾的 Cars 被序列化时它们是否被加载?

// The Query itself is Iterable
Query<Car> q = ofy().load().type(Car.class).filter("vin >", "123456789");
for (Car car: q) {
    System.out.println(car.toString());
}

如果您有 @Load 注释,则会为每个迭代块加载 Ref。因此,如果您的块大小为 30,那么当每 30 辆汽车的块被加载时,它们的驱动程序将被加载。

如果删除 @Load 注释,每个 Ref 都会按需单独加载。