强制预先加载原本延迟加载的属性
2022-09-01 19:05:19
我有一个Hibernate对象,它的属性都是懒惰加载的。这些属性中的大多数是其他休眠对象或持久性集。
现在我想强制 Hibernate 预先加载这些属性一次。
当然,我可以“触摸”这些属性中的每一个,但也许还有另一种方法可以实现我的目标。object.getSite().size()
我有一个Hibernate对象,它的属性都是懒惰加载的。这些属性中的大多数是其他休眠对象或持久性集。
现在我想强制 Hibernate 预先加载这些属性一次。
当然,我可以“触摸”这些属性中的每一个,但也许还有另一种方法可以实现我的目标。object.getSite().size()
这是一个古老的问题,但我也想指出 静态方法 。Hibernate.initialize
用法示例:
Person p = sess.createCriteria(Person.class, id);
Hibernate.initialize(p.getChildren());
子级现在已初始化为即使在会话关闭后也要使用。