【问题标题】:How to force Ebean to do a Left join, not a join?如何强制 Ebean 进行左连接,而不是连接?
【发布时间】:2012-12-14 09:54:36
【问题描述】:

使用 PlayFramework,我使用 Ebean 进行查询,其中 OneToMany 为空,但 Ebean 生成一个简单的“JOIN”查询,它不返回任何行。如果在 MySQL 中将其更改为“LEFT JOIN”,它可以工作,但我不知道如何通过 Ebean 来完成。

代码如下:

List<User> list = User.find().isNull("documents.type").findList();

这是生成的 SQL:

select {columns} from users t0 join user_documents t1 on t1.user_id = t0.id  
where t1.type is null
order by t0.lastname, t0.firstname 

这不会返回任何条目。但是如果我通过添加 LEFT JOIN 手动更改此查询,我会得到结果(正确)。

如何强制 Ebean 进行 LEFT JOIN 而不是简单的 JOIN ?

【问题讨论】:

  • 你找到不用原生sql的方法了吗?

标签: playframework-2.0 ebean


【解决方案1】:

您可以尝试类似(未经测试)

User.find().fetch("documents.type").findList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多