我有以下架构。
A(Aid, Aname)
B(Bid, Aid, Bname)
C(Cid, Bid, Cname)
B.Aid->A.Aid
C.Bid->B.Bid
我需要将C.Cname列表提供给给定的A.Aid s。我提出了这个问题。
SELECT C.Cname
FROM B,C
WHERE B.Bid = C.Bid AND B.Aid IN ('1','2','3')
我是ebeans的新手,我想用ebeans做这件事。我该怎么做?我的模型如下。我正在使用mysql作为我的数据库。
class A
{
int Aid;
String Aname;
}
class B
{
int Bid;
A Aid;
String Bname;
}
class C
{
int Cid;
B Bid;
String Bname;
}
答案 0 :(得分:2)
@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();