ebean中的复杂查询连接
Complex query join in ebean
我有以下架构。
A(Aid, Aname)
B(Bid, Aid, Bname)
C(Cid, Bid, Cname)
B.Aid->A.Aid
C.Bid->B.Bid
我需要将 C.Cname 的列表获取到给定的 A.Aid 集合。我想到了这个查询。
SELECT C.Cname
FROM B,C
WHERE B.Bid = C.Bid AND B.Aid IN ('1','2','3')
我是 ebean 的新手,我想使用 ebean 来做这件事。我该怎么做?我的模型如下。我正在使用 mysql 作为我的数据库。
class A
{
int Aid;
String Aname;
}
class B
{
int Bid;
A Aid;
String Bname;
}
class C
{
int Cid;
B Bid;
String Bname;
}
@Entity
class A {
@Id
int id;
String name;
}
class B {
@Id
int id;
@ManyToOne
A a;
String name;
}
@Entity
class C {
@Id
int id;
@ManyToOne
B b;
String name;
}
有了正确的模型,下一个请求就可以工作了:
Ebean.find(C.class)
.fetch("b")
.fetch("b.a")
.where()
.in("b.a.id", [1, 2, 3])
.findList();
我有以下架构。
A(Aid, Aname)
B(Bid, Aid, Bname)
C(Cid, Bid, Cname)
B.Aid->A.Aid
C.Bid->B.Bid
我需要将 C.Cname 的列表获取到给定的 A.Aid 集合。我想到了这个查询。
SELECT C.Cname
FROM B,C
WHERE B.Bid = C.Bid AND B.Aid IN ('1','2','3')
我是 ebean 的新手,我想使用 ebean 来做这件事。我该怎么做?我的模型如下。我正在使用 mysql 作为我的数据库。
class A
{
int Aid;
String Aname;
}
class B
{
int Bid;
A Aid;
String Bname;
}
class C
{
int Cid;
B Bid;
String Bname;
}
@Entity
class A {
@Id
int id;
String name;
}
class B {
@Id
int id;
@ManyToOne
A a;
String name;
}
@Entity
class C {
@Id
int id;
@ManyToOne
B b;
String name;
}
有了正确的模型,下一个请求就可以工作了:
Ebean.find(C.class)
.fetch("b")
.fetch("b.a")
.where()
.in("b.a.id", [1, 2, 3])
.findList();