3
我想知道什么最好的方法是加载惰性加载对象的嵌套值。我提供了一个例子来帮助更好地解释这一点。HQL /嵌套预先加载
public class A{
private B b; //Lazy loaded
private C c; //Lazy loaded
private D d; //Lazy loaded
}
public class B{
private E e; //Lazy loaded
private F f; //Lazy loaded
}
public class C{
}
public class D{
}
正如我想做一个例子:
System.out.println(a.getB().getE());
如果我跑了上面的说法我会得到一个懒惰的负载例外。
我总是可以做到以下几点:
for (A a : somePossiblyLargeList) {
org.hibernate.Hibernate.initialize(a.getB().getE());
}
但很明显的表现回敬。
有没有一种方法可以编写一个自定义HQL查询,该查询返回预填充了那些特定嵌套字段的对象?
谢谢!
优秀,我会检查出来。谢谢! – user973479
我认为我的实际情况比我的例子有点棘手......这是A <-> B与称为A_Lnk_B的链接表之间的多对多映射。所以,A类包含一组Set。从那个列表中,我必须迭代每个B的ID。然后,我将B中的那些ID找到E.我很难概念化这将如何存储回到一个Java A对象中... –
user973479
从A中选择一个左连接获取a.aLinkBs alb左连接获取alb.bb左连接获取be在哪里... –