【问题标题】:Objectify/AppEngine/Java: Many-many relationshipObjectify/AppEngine/Java:多对多关系
【发布时间】:2015-06-30 13:43:06
【问题描述】:

我在带有 JAva 的 AppEngine 中使用 Objectify。我想建模一个多对多关系,其中解析实体具有附加字段,如下所示

@Entity
public class Account {
    public @Id Long id;
    public String name;
}

@Entity
public class Baby {
    @Id public Long id;
    public String name;
}

@Entity
public class AccountBaby {
    public @Id Long id;
    @Index
    @ApiResourceProperty(ignored = AnnotationBoolean.TRUE)
    public Ref<Account> account;

    @Index
    @ApiResourceProperty(ignored = AnnotationBoolean.TRUE)
    public Ref<Baby> baby;

    public int permission;
}

如果我遵循这个模型,我不能像下面的查询那样查询给定婴儿 id 的账户列表(或给定账户 id 的婴儿列表)

List<AccountBaby> babies = OfyService.ofy().load().type(AccountBaby.class).filter("account=",
                Key.create(Account.class, accountId)).list();

他们是否有任何其他方式来查询或建模这种关系?

【问题讨论】:

    标签: java google-app-engine objectify


    【解决方案1】:

    “帐户=”中需要一个空格。或者您可以省略“=”,这是隐含的。

    您实际上要搜索的是一个字面命名为“account=”的属性(可以使用低级 api 保存在数据存储中)。这在 filter() 方法的 javadocs 中有所提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多