【发布时间】:2017-01-25 19:24:03
【问题描述】:
这里是解释。我有两个实体:房子,人。在我的系统中,一个人可能拥有多个房屋,而一所房屋可能拥有多个所有者。所以我创建了一个名为 HouseOwnership 的表(又名实体)。我希望能够对 HouseOwnership 进行两种不同的查询:
- 给定一个 houseId,获取它的所有所有者
- 给定一个personId,获取所有拥有的房屋
所以对于HouseOwnership,我愿意
@Entity
class HouseOwnership{
@Load
private Ref<House> houseRef;
@Load
private Ref<Person> personRef;
}
如何使用OfyService.ofy() 进行查询?
我很想这样做
owners =OfyService.ofy().load().type(HouseOwnership.class).ancestor(house).list()
和
houses =OfyService.ofy().load().type(HouseOwnership.class).ancestor(person).list()
但为此我必须将两个引用都设为@Parent。那我可以这样做吗?如何进行查询?
另外,我只有 id 而不是实际的对象,所以我必须从 id 中创建对象,我可以这样做。但是我想知道是否有更简单的方法?
【问题讨论】:
标签: google-app-engine data-modeling google-cloud-datastore objectify