私はHQLクエリを持ってHibernateは、フェッチ、HQLとhashCode()
SELECT myclass
FROM
MyClass myclass JOIN FETCH
myclass.anotherset sub JOIN FETCH
sub.yetanotherset
...
「ALA何かがそう、クラスMyClassのは、別のクラスのインスタンスを含むセットであるプロパティ "anotherset" を、持っている、通話をすることができますそれはMyClassTwo。また、クラスMyClassTwoには、他のクラスの第3のタイプのセットであるその他のプロパティがあります(それ以上の関連付けはありません)。
このシナリオでは、hashCode実装に問題があります。基本的には、MyClassTwoのhashCode実装は "yetanotherset"プロパティを使用し、それはyetanothertestプロパティにアクセスする正確な行ではLazyInitializationExceptionで失敗します。 「yetanotherset」からのデータがまだフェッチされていないので、私は推測している
org.hibernate.LazyInitializationException: illegal access to loading collection
が、これはですが、私はこれをどのように解決するのですか?私は特に、プロパティを無視するためにhashCodeをダンピングするという考えは好きではありません。
追加の質問は、HQLはXMLまたはアノテーションで定義されているfetch = FetchType.EAGERを無視しますか?しかし、私はどこでもこれを確認できません。