当前位置: 首页 > 面试题库 >

是否有帮助者来了解Hibernate是否已加载属性?

寿飞飙
2023-03-14
问题内容

我需要一个帮助者来了解是否已加载属性,以避免这种情况LazyInitializationException。可能吗?

@Entity
public class Parent {
    @OneToMany
    private List<Child> childList;
}

@Entity
public class Child {

}

"select distinct p from Parent p left join fetch p.childList";

// Answer goes here
// I want to avoid LazyInitializationException
SomeHelper.isLoaded(p.getChildList());

问题答案:

实际上有两种方法。

要确定惰性 属性
是否已初始化,您可以Hibernate.isPropertyInitialized()使用实体实例和属性名称作为参数来调用方法。

要查明是否已初始化惰性 集合
(或实体)(如您的示例中所示),可以Hibernate.isInitialized()使用集合(实体)实例作为参数来调用



 类似资料:
  • 问题内容: 是否可以 不 尝试加载就知道是否已加载Java类?尝试加载该类,但我不希望出现这种副作用。还有另一种方法吗? (我不想覆盖类加载器。我正在寻找一个相对简单的方法。) 问题答案: (感谢Aleksi)此代码: 产生: 请注意,示例类不在软件包中。完整的二进制名称是必需的。 二进制名称的一个示例是

  • 问题内容: 我如何断言页面的CSS已在Watin 2.1中成功加载并应用了其样式? 问题答案: 在进行了一些研究并写下我的答案之后,我偶然发现了该链接,该链接解释了您需要了解的有关CSS的所有信息,何时加载CSS以及如何检查CSS。 实际上,所提供的链接对它的解释很好,以至于我在其中添加了一些引用以供将来参考。 如果您好奇,我的答案将是#2和#4的变体。 何时真正加载样式表? … 顺便说一句,让我

  • 问题内容: 我正在尝试检查用户单击按钮后是否已加载iframe。 我有 的HTML 有什么建议么? 顺便说一下,我的iframe是动态创建的。它不会随初始页面加载一起加载。 问题答案: 您可以尝试使用() 更新: 使用普通格式 更新: 您也可以尝试一下(动态iframe)

  • 问题内容: 我有一个将包含数百万个条目的表,以及一个具有每行唯一的值的列。它们不是主键,但是在某些操作期间,有数千个在子句中使用此列。 问: 当条目数量增加到数百万时 ,向该列添加索引是否有帮助 ?我知道它将用于文本值,但是我不熟悉索引对or的作用。 可能发生数千次的示例与此类似: 问题答案: 如果表非常大,那么对未索引的值进行搜索可能会非常慢。用MySQL术语来说,这种查询最终是“表扫描”,这是

  • 我正在尝试检查用户单击按钮后是否加载了iframe。 我有 顺便说一下,我的iframe是动态创建的。它不会与初始页面加载一起加载。

  • 但是,即使页面正在加载,代码也不会等待。 我知道我可以检查特定的元素,以检查它是否可见/可点击等,但我正在寻找一些通用的解决方案