2012-07-26 76 views
0

我有一個與用戶有一對多關係的組。 (一個組可以有零個或1+用戶)JPA在列表中命名查詢

我寫了一個jpa查詢返回一個組,如果它沒有附加用戶,或者如果它確實有用戶的id匹配我的id。

例如,如果我有組1包含用戶1和用戶2.組2不包含用戶。

如果我是用戶3,我只想返回組2。

如果我是用戶2然後我想回到第1組和第2組

我能做到這一點的JPA?我知道JPQL的IS EMPTY部分,因此無論用戶身份如何,都可以返回組2。我的問題是如何在列表中查詢。

任何指針都不錯。

感謝您的幫助

回答

0

我想我有。答案是左列入列表。

例如

SELECT g FROM Groups g left join fetch g.users u where (g.users IS EMPTY OR (u.id = :id)) 

組是我的實體包含用戶

列表