Hibernate 如何检查休眠列表以查看它是否已初始化?

Hibernate 如何检查休眠列表以查看它是否已初始化?,hibernate,lazy-initialization,Hibernate,Lazy Initialization,在Hibernate中,假设您有一个名为department的类,它包含一个员工列表。是否有办法检查员工名单以确定其是否已初始化?似乎无论您访问什么属性,它都会给您一个lazy initializer异常。有没有办法在没有异常的情况下测试它的初始化 我想看看它是否已初始化,如果未初始化,只需对数据进行查询并填充即可。您不需要手动执行查询——延迟初始化的整个要点是,ORM将在访问数据时为您处理它 如果您遇到延迟初始化异常,这意味着没有打开hibernate会话,因此无法获取子项 在视图中使用ope

在Hibernate中,假设您有一个名为department的类,它包含一个员工列表。是否有办法检查员工名单以确定其是否已初始化?似乎无论您访问什么属性,它都会给您一个lazy initializer异常。有没有办法在没有异常的情况下测试它的初始化


我想看看它是否已初始化,如果未初始化,只需对数据进行查询并填充即可。

您不需要手动执行查询——延迟初始化的整个要点是,ORM将在访问数据时为您处理它

如果您遇到延迟初始化异常,这意味着没有打开hibernate会话,因此无法获取子项

在视图中使用open session(在web应用程序中,在请求的生命周期内保持会话打开),或者在加载父级时预先初始化集合(这会导致加载可能不需要的数据的开销,如果总是需要,则可以)

是否有办法检查员工名单,以确定其是否 被初始化了吗

您可以使用检查hibernate实体是否已初始化

我想看看它是否已初始化,如果没有,只需执行 查询并填充数据


您可以使用强制初始化hibernate实体。如果数据尚未初始化,它将为您查询和填充数据。

我理解延迟初始化异常的含义。ORM不能正确处理事情,因为它不会通知您它的状态。它“应该”做什么在很大程度上是无关紧要的,因为它的自动魔法不起作用。所以我想知道它是否能为你提供一种测试它状态的方法。这只是一些书呆子的话。我只是对Hibernate很生气。别担心。