Java Play框架连接和模型

Java Play框架连接和模型,java,playframework-2.0,ebean,Java,Playframework 2.0,Ebean,这不是问题,更多的是“这是正确的方法”之类的交易 假设我有一个这样的模型 class A extends Model{ @OneToMany(cascade = CascadeType.ALL) public B; } class B extends Model{ String c; } 现在我想访问A的所有对象,这些对象的B对象中有一个特定的c值 因此,我应该: 获取具有特定值c的B的所有对象,然后找到与这些对象对应的a(如果是,如何混淆) 使用find.all()

这不是问题,更多的是“这是正确的方法”之类的交易

假设我有一个这样的模型

class A extends Model{
    @OneToMany(cascade = CascadeType.ALL)
    public B;
}

class B extends Model{

   String c;
}
现在我想访问A的所有对象,这些对象的B对象中有一个特定的c值

因此,我应该:

  • 获取具有特定值c的B的所有对象,然后找到与这些对象对应的a(如果是,如何混淆)
  • 使用
    find.all()
    获取A的所有对象,然后查看列表(这似乎是个坏主意,因为将有大量的A而不是那么多的B)

  • 任何帮助都将不胜感激(哦,假设我已经编写了
    @Entity
    @Required
    以及所有其他适当的东西)

    选项1是正确的选择。您可以使用以下查询:

    A.find().where().eq("b.id", yourBId).findList();
    

    如果不是自动获取,可能会添加一个获取(“b”)。

    这适用于
    @OneToOne
    ,但由于某种原因,当我使用
    @OneToMany
    时,它会失败。知道为什么吗?怎么会失败?如何使用添加的fetch,比如:A.find.fetch(“b”).where().eq(“b.id”,bId.findList();