我有一个部分的报告,每个部分都有孩子。
它们都设置为延迟加载。
我可以知道如何初始化这些部分的孩子吗?
我知道如何初始化部分
通过使用
.setFetchMode("section", FetchModel.JOIN)
但是科的孩子呢?
注意:我确实知道如何使用 Hibernate.Initialization() 但 DetachedCriteria 可以执行它吗?
在休眠中,当您尝试使用这些集合时,例如 parent.getChildren(),休眠会话将在那时加载子实体。所以名字懒惰。在您的用例特别需要之前,您不必初始化任何集合。
您需要在同一事务中调用此方法。
Hibernate.initialize(parent.getChildren());
公共静态无效初始化(对象代理)抛出 HibernateException
强制初始化代理或持久集合。
注意:这只确保代理对象或集合的初始化;不能保证集合内的元素将被初始化/物化。
参数:
proxy - a persistable object, proxy, persistent collection or null
抛出:
HibernateException - if we can't initialize the proxy at this time, eg. the Session was closed