目前我的代码是

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


如何避免编写手动SQL查询,但仍然让ORM生成该查询并返回结果?

最佳答案

Ebean将根据where和order by等中使用的路径/属性添加适当的联接。

其中couponUse.likeAt不为null。

假设couponUse.likeAt是正确的表达路径... Ebean将添加一个联接以自动支持该表达。

关于java - 如何使用Ebean Java ORM语言编写联接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38765218/

10-10 21:40