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