我有一个HQL查询的东西阿拉”休眠,取,HQL和hashCode()
SELECT myclass
FROM
MyClass myclass JOIN FETCH
myclass.anotherset sub JOIN FETCH
sub.yetanotherset
...
因此,MyClass类有一个属性‘anotherset’,这是一个包含另一个类的实例一组,让通话它MyClassTwo。而且,MyClassTwo类有一个属性yetanotherset,它是一组第三类(没有进一步关联)。
在这种情况下,我遇到了hashCode实现的问题。基本上,MyClassTwo的hashCode实现使用“yetanotherset”属性,并且在确切的行上访问yetanothertest属性,但它失败并带有LazyInitializationException。
org.hibernate.LazyInitializationException: illegal access to loading collection
我猜,这是因为“yetanotherset”的数据还没有被提取,但我该如何解决这个问题?我并不特别喜欢使用hashCode忽略该属性的想法。
附加的问题,并忽略HQL取= FetchType.EAGER如XML或注解定义,好像它。但我无法在任何地方验证。