在分离的对象中进行Hibernate延迟加载

Cli*_*sch 17 java hibernate lazy-loading

我已经创建了一个类,我在其中设置了一些要加载LAZY的字段(其他实体).现在我需要在从会话中分离后使用该对象,因此我显然需要确保在分离之前填充所需的所有字段.我试着把这些懒惰的字段叫做吸气剂,但这似乎不起作用.任何人都知道如何强制加载这些字段?

Boz*_*zho 13

Hibernate.initialize(yourObject)
Run Code Online (Sandbox Code Playgroud)

将强制初始化传递给它的对象/集合.你需要一个活跃的会话.

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

  • 我相信Hibernate.initialize不是传递的.因此,如果您的对象具有惰性集合或惰性字段,则需要执行Hibernate.initialize(object.getLazyField())或.initialize(object.getLazyCollection()) (2认同)