【问题标题】:Complex query join in ebeanebean中的复杂查询连接
【发布时间】:2015-01-23 02:50:33
【问题描述】:

我有以下架构。

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')

我是 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;
}

【问题讨论】:

    标签: mysql sql database ebean


    【解决方案1】:
    @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();  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2012-11-29
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多