У меня есть запрос HQL, что-то типа '
SELECT myclass
FROM
MyClass myclass JOIN FETCH
myclass.anotherset sub JOIN FETCH
sub.yetanotherset
...
Итак, класс MyClass имеет свойство "anotherset", которое представляет собой набор, содержащий экземпляр другого класса, давайте назовем его MyClassTwo.И у класса MyClassTwo есть свойство Yetanotherset, которое представляет собой набор классов третьего типа (без дальнейших ассоциаций с ним).
В этом сценарии у меня возникают проблемы с реализацией hashCode.По сути, реализация hashCode в MyClassTwo использует свойство «thananotherset», и в точном соответствии со свойством все же доступное свойство завершается с ошибкой LazyInitializationException.
org.hibernate.LazyInitializationException: illegal access to loading collection
Я полагаю, это потому, что данные из "Yetanotherset" еще не были получены, но как я могу это исправить?Мне не особенно нравится идея использовать хеш-код, чтобы игнорировать свойство.
Дополнительный вопрос, игнорирует ли HQL fetch = FetchType.EAGER, как определено в XML или аннотациях, похоже, что так и есть.Но я нигде не могу это проверить.