休眠被產生用於以下查詢SQL:休眠自動追加1 = 2到生成的查詢
select pcp.id from PersistentContentProfile pcp where pcp.service.id = :service_id and exists(select 1 from Subscription s where s.contentProfile.id = pcp.id and s.status in (:statuses))
作爲天然PostgreSQL的查詢:
select persistent0_.id as col_0_0_
from ems.nlt_content_profile persistent0_
where
1=2 and
persistent0_.service_id=? and
(exists (select 1
from ems.nlt_subscription subscripti1_
where subscripti1_.content_profile_id=persistent0_.id and
(subscripti1_.status in (?,?))))
觀察
「 1 = 2'
追加到查詢中?爲什麼這會被添加?因此,沒有記錄被檢索。
Ravi,你可以發佈你的課程heirarchy? – Zeki
我想到這是由於配置錯誤。我使用的是@ForceDiscriminator,只有在persistence.xml中配置了抽象類,而缺少任何具體子類的配置。不過,如果拋出適當的錯誤,而不是僅追加1 = 2來避免任何結果,那將會很有幫助。 –
離開這裏......'hibernate-core-5.1.1.Final-sources.jar!/org/hibernate/sql/InFragment.java:63' –