Huk*_*ABA 4 playframework ebean playframework-2.0
我读了http://www.avaje.org/ebean/introquery_joinquery.html ; 看一下例A,我注意到没有内部连接公共列的规范.我认为他们的fetch-tablename语法会导致Ebean查看2个表对内连接的列.然后他们将每个结果存储为订单?他们正在加入2个表,那么他们如何将客户表中的列存储为订单?
我尝试在我的代码中使用ebean进行内部联接,并发现至少我的一个假设是错误的.我有2张桌子,一张街道桌子和一张House桌子(一对多关系).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'
Run Code Online (Sandbox Code Playgroud)
我相信你只是直接在whereExpressionList中引用表来要求内连接,例如:
Ebean.find(House.class)
.select("street.name, owner, isSubscriber")
.where()
.eq("street.id", s.id)
.eq("isNew", false)
.findList();
Run Code Online (Sandbox Code Playgroud)
这假设您有一个与此类似的House Entity设置:
@Entity
public class House extends Model {
@Id
public Long id;
@ManyToOne
public Street street;
...
}
Run Code Online (Sandbox Code Playgroud)
像这样的街道实体:
@Entity
public class Street extends Model {
@Id
public Long id;
@OneToMany(mappedBy = "street")
public List<House> houses;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7717 次 |
| 最近记录: |