在分离对象中休眠延迟加载

2022-09-02 21:52:39

我创建了一个类,在其中设置了一些要延迟加载的字段(其他实体)。现在,我需要在从会话中分离此对象后使用它,因此我显然需要确保在分离之前填充所需的所有字段。我试着把这些懒惰的领域叫到这些懒惰的领域,但这似乎不起作用。有人知道如何强制加载这些字段吗?


答案 1
Hibernate.initialize(yourObject)

将强制初始化传递给它的对象/集合。为此,您需要一个活动会话。

如果实体已分离,则必须将对象(使用 )重新附加到活动会话,然后对其进行初始化。merge(..)


答案 2

您可以将其重新附加到会话。这是正常的方式。

session.update(yourObject); //This reattachs the object to the current session.
yourObject.someGetter(); //This will work now.

推荐