使用PlayFramework,我使用Ebean进行查询,其中OneToMany为null,但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?
你可以试试像(未经测试的)
User.find().fetch("documents.type").findList();