gpt4 book ai didi

java - Hibernate:使用子选择和左外连接执行条件查询?

转载 作者:行者123 更新时间:2023-11-30 05:13:07 26 4
gpt4 key购买 nike

我可以使用子选择和左外连接执行条件查询吗?

例如,我有 A 1-many B 1-many C。

使用 Criteria.createAlias ("b", "b", Criteria.LEFT_JOIN),我可以执行Left Outer 连接。

使用 Criteria.setFetchMode ("b", org.hibernate.FetchMode.DEFAULT),我可以使用默认的获取策略执行 Join。我认为在 A.B 和 B.C 中设置 @org.hibernate.annotations.FetchMode.SUBSELECT 就足够了(是吗?)。

问题 1:为什么 org.hibernate.FetchMode 没有 SUBSELECT 选项,而 org.hibernate.annotations.FetchMode 有?

问题 2:我可以使用 Sub-Select AND Left-Outer join 执行 Criteria 查询吗?

最佳答案

Criteria 和 org.hibernate.FetchMode.SELECT 不执行任何操作。 Criteria 的唯一选项是 org.hibernate.FetchMode.JOIN。我手动对 Criteria 结果进行延迟初始化:

for (Entity e : result) {
Hibernate.initizalize(e.getProperty());
}

关于java - Hibernate:使用子选择和左外连接执行条件查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654764/

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