gpt4 book ai didi

Hibernate 自动将 1=2 附加到生成的查询

转载 作者:行者123 更新时间:2023-12-05 08:12:13 24 4
gpt4 key购买 nike

Hibernate 正在为以下查询生成 SQL:

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))

作为 native 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'

附加到查询?为什么要添加这个?因此,没有检索到任何记录。

最佳答案

发生这种情况的原因有两个。它与多态实体有关。要解决此问题,您需要确保将基类(而非任何子类)传递给 createCriteria 调用。您还需要确保数据库中表示的任何子类都已在 hibernate 中注册。

关于Hibernate 自动将 1=2 附加到生成的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com