遅延ロードされたオブジェクトのネストされた値をロードするのが最善の方法は何でしょうか。これをよりよく説明するのに役立つ例を提供します。
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());
}
しかし、明らかにパフォーマンスは悪くなります。
それらの特定のネストされたフィールドが事前に入力されているAオブジェクトを返すカスタムHQLクエリを作成する方法はありますか?
ありがとう!