gpt4 book ai didi

java - 添加子选择条件?

转载 作者:行者123 更新时间:2023-12-01 15:25:00 25 4
gpt4 key购买 nike

使用基于 Hibernate Criteria 的查询,您可以向子选择添加条件吗?

具体来说,开发人员有以下代码;

 criteria.setFetchMode("user", FetchMode.JOIN).add(
Restrictions.eq("company.id", companyId));

他们的意图是这样的;

select a.* from tableA a where a.user in 
(select b.user from tableB b where b.companyId = 'companyId')

IE '从此表中选择所有在用户集中包含 companyId = 'companyId' 的用户的记录,如另一个表中所述。

然而,上述基于 Criteria 的语句无法按预期工作,我相信 setFetchMode 返回的标准与调用它时的标准相同,并且 add 语句将 company.id = companyId 子句添加到总体 Criteria (即 tableA )。

他们的意思是将此“添加”语句应用于 FetchMode(即子选择),而不是 fetchmode 随后作用的条件。

没有使用 hibernate 标准语句的经验,我不确定这是否可能?

最佳答案

您可以使用别名来完成您想要做的事情:

 criteria.setFetchMode("user", FetchMode.JOIN).createAlias("company","c").add(
Restrictions.eq("c.id", companyId));

看看this section hibernate 文档的更多信息

关于java - 添加子选择条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10283963/

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