gpt4 book ai didi

Hibernate Query Language (HQL) - 延迟/非延迟加载查询

转载 作者:行者123 更新时间:2023-12-03 14:13:52 25 4
gpt4 key购买 nike

我有这样的结构:

  • A 包含 B 的集合(映射为非惰性)
  • B 包含 C 的集合(映射为非惰性)

  • 我想做一个查询,检索 A 对象,其中包含 B 对象,但其中没有 C 对象。那可能吗?另一种方式也适用于我(如果 B-C 关系被映射为惰性并且查询检索 A,包含 B 和 C)。

    谢谢!

    最佳答案

    不,这不可能。由于您将关联本身标记为急切加载,Hibernate 将始终急切加载此关联。

    如果您将关联标记为惰性(toMany 关联的默认设置),那么您可以选择使用 join fetch 在查询中急切地获取它们。 :

    select a from A a left join fetch a.bs b left join fetch b.cs

    请注意,如果两个集合都是包(即没有索引列的列表),这将不起作用。

    关于Hibernate Query Language (HQL) - 延迟/非延迟加载查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10583845/

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