Playframework Ebean中的内部连接?

Playframework Ebean中的内部连接?,playframework,playframework-2.0,ebean,Playframework,Playframework 2.0,Ebean,我阅读了示例A,注意到并没有内部连接公共列的规范。我认为他们的fetchtablename语法会让Ebean查看这两个表必须在哪个列上进行内部连接。然后他们将每个结果存储为订单?它们连接了两个表,那么它们如何将customer表中的列存储为订单 我试图在代码中与ebean进行内部连接,发现至少有一个假设是错误的。我有两张桌子,一张街道桌子和一张房子桌子(一对多关系)。House表中的street_id列是street表的id列的外键。我试图提出与此sql等价的Ebean: SELECT s.na

我阅读了示例A,注意到并没有内部连接公共列的规范。我认为他们的fetchtablename语法会让Ebean查看这两个表必须在哪个列上进行内部连接。然后他们将每个结果存储为订单?它们连接了两个表,那么它们如何将customer表中的列存储为订单

我试图在代码中与ebean进行内部连接,发现至少有一个假设是错误的。我有两张桌子,一张街道桌子和一张房子桌子(一对多关系)。House表中的street_id列是street表的id列的外键。我试图提出与此sql等价的Ebean:

SELECT s.name, h.owner, h.isSubscriber FROM Street as s INNER JOIN House as h WHERE     
h.street_id=s.id AND h.isNew='false'

我相信您只需直接在
where
ExpressionList中引用表,就可以要求内部联接,例如:

Ebean.find(House.class)
     .select("street.name, owner, isSubscriber")
     .where()
     .eq("street.id", s.id)
     .eq("isNew", false)
     .findList();
这假设您有一个类似于以下内容的房屋实体设置:

@Entity 
public class House extends Model {

    @Id 
    public Long id;

    @ManyToOne
    public Street street;

    ...
}
还有这样一个街道实体:

@Entity 
public class Street extends Model {

    @Id 
    public Long id;

    @OneToMany(mappedBy = "street")
    public List<House> houses;

    ...
}
@实体
公共类街道扩展模式{
@身份证
公共长id;
@OneToMany(mappedBy=“street”)
上市公司;
...
}
Ebean.find中的“s.id”是什么?如何使用“.eq”(“street.id”,s.id)”将Ebean在House.street\u id=street.id上连接House和street?“s”是此时提供的street参数,它只是引用street的id字段。