簡體   English   中英

JPA嵌套選擇左外部聯接

[英]JPA Nested Select Left Outer Join

是否可以在JPA QL中執行嵌套選擇?

如何在JPA QL中編寫以下SQL語句?

select * from preferences p left outer join (select * from preferencesdisplay where user_id='XXXX') display on ap.pref_id=display.pref_id;

JPA的實體偏好具有PREFERENCESDISPLAY一個一對多的關系。 無論是否有PREFERENCESDISPLAY參考,我都想獲取所有的PREFERENCES

在休眠狀態下,可以使用“ with”:

select ... from Preferences p left join p.displays d  with  d.user.id = 100

但是在JPA中,我從未見過這種可能性。

那條SQL還能用嗎?

如果您顯示了實體,這將有所幫助,但是,如果您正確地映射了所有內容,那么應該很簡單:

select p from Preferences p left join p.preferencesDisplays pd with pd.userId =XXXX

或者TopLink不支持with

select p from Preferences p left join p.preferencesDisplays pd
where pd IS NULL or pd.userId = XXXX

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM