Pat*_*ick 4 google-app-engine persistence objectify
以下是所有objectify/app引擎专家的问题:
我通过将父对象的键存储在子对象中来创建具有父/子关系的ojectes.它存储在Key类型的对象中.例如,假设我有一个汽车对象和轮胎对象.轮胎对象将父键存储在Key类型的变量中.
@Entity
Public class Tire{
@Id Long id;
Key<Car> ParentKey;
int size;
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我将需要获得所有轮胎给定一辆车.我可以通过查询来执行此操作:轮胎轮胎= oft.query(Tire.class).filter("ParentKey",carKey).get();
这是一种非常有效的方法来实现这一目标吗?这会导致实体组出现任何问题吗?这对大量汽车和轮胎有效吗?
现在你没有创建父/子关系,至少是由app引擎定义的.查看文档:添加父/子关系可以加速事情,因为汽车及其轮胎将物理存储在一起,但如果在某些时候它们不再需要它们可能很难移除.
要使用Objectify创建父/子关系,请添加@Parent注释:
// Use com.googlecode.objectify.Key instead of
// com.google.appengine.api.datastore.Key
@Parent Key<Car> parentKey;
Run Code Online (Sandbox Code Playgroud)
现在,为了获得属于特定汽车的所有轮胎:
List<Tyre> tires = ofy().query(Tyre.class).ancestor(carKey).list();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2873 次 |
| 最近记录: |