java - 如何用Ebean Java ORM语言编写join

标签 java mysql sql orm ebean

目前我的代码是

    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 不为空。

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

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

相关文章:

java - LWJGL "discard"的透明度问题,一切都是不可见的?

java - 获取 IBM Notes 中某个日期范围内的文档

java - 如何让 Maven 解析本地存储库的依赖关系

MySQL-向左连接添加子句

MySQL子查询难度

sql - SQL Server 函数

sql - 如何使SQL Server 2008表的检查约束仅允许某些字符?

Java/Spring : How to find what error opened the Resilence4J circuit breaker?

java - 将时间作为字符串放入查询中

sql - PostgreSQL 中的“WHERE”语法等同于 LEFT OUTER JOIN