[英]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.