2012-12-14 38 views
4

使用PlayFramework,我使用Ebean進行OneToMany爲空的查詢,但Ebean生成一個簡單的「JOIN」查詢,該查詢不返回任何行。如果將它更改爲MySQL中的「LEFT JOIN」,它可以工作,但我不知道如何通過Ebean來完成。如何強制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手動更改此查詢,我已經resulst(正確)。

我該如何強制Ebean做一個LEFT JOIN而不是簡單的JOIN?

感謝您的幫助:)

+0

你發現沒有本地SQL的方式? – Maxence

回答

0

你可以嘗試像(未經測試)

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