2013-08-16 31 views
0

我有兩個相關的實體,用戶和消息。 消息有兩個字段,包含用戶實體,收件人和發件人。兩個連接的JPQL聯合

我可以做一些類似於兩個連接的聯合,我將消息的兩個字段中的用戶都接收到一個結果列表中嗎?

例如:

(select u from Message m join m.recipient) union (select u from Message m join m.sender) 

感謝答案。

問候

彼得·科茲洛夫斯基

+0

查詢[EclipseLink的支持'UNION'(http://wiki.eclipse.org/EclipseLink/ UserGuide/JPA/Basic_JPA_Development/Query/JPQL#UNION),但如果你想堅持標準,那麼我懷疑你將不得不運行兩個查詢。 – DannyMo

回答

6

不可以,但你可以像使用

select u from User u 
where u.id in (select m.recipient.id from Message m) 
or u.id in (select m.sender.id from Message m)