2016-08-04 40 views
0

Derzeit mein CodeWie trete ich schreibe in Ebean Java ORM Sprache

int customerId = 4; 
    String sql = "select id from coupon as A join coupon_use " 
      + "as B on A.id=B.coupon where B.customer=" + customerId 
      + " and B.like_at is not null;"; 


    RawSql rawSql = RawSqlBuilder.parse(sql).create(); 
    Query<Coupon> query = Ebean.find(Coupon.class); 
    query.setRawSql(rawSql); 
    List<Coupon> list = query.findList(); 
    return ok(Json.toJson(list)); 

ist Wie kann ich manuell SQL-Abfrage zu vermeiden schreiben, aber immer noch die ORM, dass die Abfrage generieren und mir das Ergebnis zurück?

Antwort

0

Ebean werden entsprechende Add Verknüpfungen durch

usw. in dem wo und verwendet, um auf den Pfaden/Eigenschaften basieren

wo couponUse.likeAt nicht null ist.

Angenommen, couponUse.likeAt ist der korrekte Ausdruckspfad ... Ebean fügt einen Join hinzu, um den Ausdruck automatisch zu unterstützen.